I freeze in glass and zip top bags.
If it's an uncooked layered or 'built' casserole, I line the casserole dish in foil, build the casserole, stick it in the freezer, pull it out when frozen, take it out of the dish and then doulbe/triple wrap the casserole in foil, then plastic wrap. If I did 8x8 sizes which I tend to do (and just use 2 for a meal), I can then stick it in a large zip top bag to prevent anything from getting in our out.
Then when I'm ready to cook it, I unwrap all but the last layer, put it into the casserole dish, let it thaw in the fridge overnight, then cook.
If it's something that I can just put in a bag and doesn't need to be built, I just put it all into a zip top bag, lay it flat, freeze it, then stack like albums in the freezer. It's the only time I use plastic to store things any longer.
If it's something I know is going in for long-term (2 months or more), I vacuum seal it. I have a Rival sealer that I use that works great. I even use it to vacuum pack jars - I ♥ it!
Depending on how quickly I turn it around to eat, I tend to just use my glass pyrex and rubbermaid glass dishes and stack those.