I think Cloyster would be best. Despite having the worst stats of the three, its attack is slightly higher than Walrein and it has a better charged move that's also two-bar: Avalanche.
I also think that Gardevoir is only good against Dragon-type movesets. Rayquaza can also carry a double-air moveset, as well as AncientPower. Remember that Gardevoir doesn't have a Fairy quick move and isn't as effective as ice against Flying/Dragon.