Quiet honesty.
you know "if you can't say something nice, don't say anything at all?" I've always had trouble with that with my mil, because I was taught that it's rude to "ignore" someone who is talking to you. So I am always trying to participate in the "conversation" as tactfully as possible.
but after watching my new son in law interact with her, I have realized that she almost never asks a direct question and that even when she does, she doesn't care if you answer because she is likely to ignore what you say.
so this weekend I tried the approach of not speaking. I just looked at her. When she stopped talking, I counted to five in my head and she usually started talking again before I got there. When asked a direct question I counted and then if she hadn't started talking again, I answered honestly, but with as few words as possible. Usually "no." (As in I am cooking lunch and she is cleaning out the fridge and she says "I have this much corn left that I cut off the cob, do you think I should just dump it in there?" "No." - recipe has no corn, needs no corn, and it is a third of a cup in a recipe that serves 25 people. But I don't make excuses for rejecting her corn, I just say "no.") And then she just started talking again.
also, I Asked my husband to please come rescue me if I had been missing for a while, so when she got me "cornered", after less than an hour he came and gave her a reason I had to go. (I.e. "Go change into your bathing suit and come swim with me") and then I just walked out of the room without speaking.
and it was so much less stressful!