Your son sounds still very young. As he gets older, I think things should even out more... I do have an idea, though- how about finding something that he enjoys a lot and having him do it ONLY when the MIL is in town? They can have that special time with just the two of them... like, to go to a "special" playground, go play mini-golf, feed the ducks, scavenger hunts, swimming, flying a kite, etc. you get the idea.
But I wanted to say something because we have the same issue here! My mom is 15 min away and the 4 kids are crazy about her. They see her all the time and I like her too, but I honestly get SO annoyed when she complains she didn't see them twice in a week. She expects and wants ALL the grandparent attention. Like, Christmas, Thanksgiving, "grandparent's day" at school. My Inlaws don't even get a chance. She also is a person with STRONG opinions, so sometimes i worry about my kids being brainwashed. My inlaws are much more tolerant, accepting and open-minded, I'd love to see them have more influence over the kids.
On the flip side, she babysits for us from time to time (bout 3 times a month), and I want her to know we really appreciate her a LOT, so...
At the end of the day, I just wished we were equal distance from us, whether that be 5 hours or 5 mins. Just want a balance:)