Is your relationship with MIL good otherwise? Is she a good grandmother? If not, I think Christmas is just one more manifestation of that ...
Can you maybe spend Christmas morning opening gifts with your in-laws for a less hectic time with them? Or, maybe have your DH go over by himself to bring the dish and at least represent the family?
My timeline:
Gifts my wife, daughter, and I all get for each other are split up -- some will be opened at my in-laws, others at my parents'.
Christmas Eve at the in-laws (my folks don't really like having overnight guests and there's nowhere for guests to really stay).
Christmas morning at the in-laws. We typically get up at 6am (our DD is a slacker, I'd get up at 5am most years) and leave at 11am or noon; my parents are about 30 minutes away.
Christmas lunch/dinner at my parents along with more gift opening. We'll leave at 4pm-6pm, depending on what's on TV, how well our DD is doing.
We either return home that evening or go back to my in-laws to stay some more (depends on daycare being open on Boxing Day, the day Christmas falls on, etc.)
We may give our DD a gift on Christmas Eve or after we get back, but half the time that's because we forgot something.
On the flip side, we always have Thanksgiving at my parents'; my sister-in-law has often had to work Thanksgiving, so Thanksgiving dinner with my in-laws has usually ended up being whichever of Friday-Sunday she happens to be available for dinner (either at 1-2pm or 5-6pm).
It does help that everyone's normal and no one gets butthurt over trivia.