My in laws don't come to us very often, mainly because I really didn't get on with them for a long time, and although things are much better now, we've got into a good routine of my husband taking our kids round to theirs - about a half an hour drive away.
They do come to us more regularly now DS1 has started school - my ILs are only really interested in seeing the DC rather than us/DH. I struggled with this for a long time, hence DH taking the boys to their house as I could't handle their indifference and lack of interest in their own son. He was ok with it though, having spent all his life not being good enough (apparently).
Anyway, I really enjoy my free afternoons at the weekend, I get to relax, have a hot bath, read, nap, whatever. We often schedule visits to work around the football season, so we don't miss out on time together - DH will take the boys to his parents while I'm at the football, but I'm minding less and less if they go when there is no football.
We now have them to us once a fortnight for dinner, then me and DH go out for a drink (or sometimes just the weekly shop with no children!) while they put the kids to bed. It works for us all and I still don't spend a massive amount of time with them - not because I don't like them (anymore at least!) but because they really only want to see the kids, and that's ok.
My parents live 5 minutes away and my mum especially will often drop in (usually having text in advance to check it's ok), but she'll only stop for a cup of tea and a chat, usually less than an hour. My parents rarely come for a meal, invited or otherwise. Dad and my brother come over sometimes for a few ciders and to listen to the football when our team is away, but again, not often. We generally meet them at theirs or the pub - it's the way our family works.
My MIL will now and again make noises about wanting to be invited round - we sometimes do so, but if it doesn't work, we don't. They see us every week, they have DS2 once a week all day (8.30-6.30) so that's plenty to my mind!
If you've spoken to your son about it, and he seems to think that there's no need because he sees you elsewhere, then short of turning up unannounced, it doesn't sound promising.
If buying them expensive gifts is a problem, then don't do it. If they offer to meet in a restaurant, perhaps check in advance that they are paying for themselves? If you suggest restaurants, then stop.
Alternatively, you could perhaps buy them something, then drop them a text to say that you're down the road and could you pop in with whatever it is, and then perhaps ask for a cup of tea once you're there. If they kick up a fuss, then you know it's more than just "we see you elsewhere."
Hope that helps. And if you do manage to get invited/go round, for the love of all that's holy, don't criticise, don't judge, don't screw your face up etc. Either say nothing, or mention how lovely it is.