I don't have any quick answers, but I can say I feel your pain! My grandmother (1st generation American born of German immigrants) does the exact same thing. She sends us home with tons of leftovers, extra groceries, etc. (Which is so unnecessary because we can certainly afford groceries....we're not in college anymore!) Fortunately, I can give the non-perishable stuff to the food shelf. We try to eat some of the leftovers, but much of it gets thrown out, which like you, I really hate doing. It's so wasteful.
She has backed off a little since I started my weight loss effort last year. Like your MIL, my grandma overcooks and overbuys and probably doesn't want the guilt of throwing things out, so she gives it to us. I think part of that is a product of her generation, having grown up on a farm in the 1930's-40's when food was scarce. It was wise to stock up, and you don't waste anything. The gift of food was literally the give of love and life.
One thing that has helped is we've started hosting Thankgsiving at our house. She brings a few dishes and helps me cook. We still have plenty of food, mind you, but this way, I can send food home with HER
When it comes down to it, as much as I hate wasting food...it hurts me more to hurt my grandma's feelings.