If someone lives near me, and I decide I'd like to spend some time with them, my usual approach is to invite them over for dinner. It's fairly clear that this is the polite thing to do whereas attempting to invite myself to theirs would be rude, and it's fairly clear that this is because the host is the one who does all the work: extra cooking, making the place respectable beforehand, washing up afterwards etc. So volunteering to make all that effort myself is polite, whereas trying to manoeuvre the other person into doing it is rude.
All of that is well known and uncontroversial. But how, if at all, does the picture change when the person in question lives sufficiently far away that travelling there and back is liable to be at least as much effort and hassle as the duties of the host?
I find I can't quite make a case either way which convinces me. I would feel a bit rude inviting someone to dinner if accepting the invitation necessarily involved them sitting on trains or in traffic jams for longer than I expected to spend cooking, and yet I would also feel just as rude inviting myself to have dinner with them so that they had all the hosting responsibilities. Neither seems to me to be the obviously more polite option.
Currently, my best solution is to issue an either-
Perhaps such dinners should always be held in complementary pairs: home and away.
To be fair, I don't tend to invite myself to other people's houses for dinner, but on the whole (if carefully picked) they don't mind demands for tea...
I suspect my inclination would be to open with "we should do dinner some time" and see where the conversation went from there, and I suspect I'd also end up more-or-less quits (in terms of travelling etc) with anyone I liked that much (I are fail at socialising), but I have very little experience of this manner of thing...