>>54842344Magic. If ghost types like Banette and psychic types like Alakazam can float around passively, so can fish. Although for fish without training it's not possible, and even once learned it takes more effort and doesn't allow much ups. This both keeps the disadvantage for fish out of water, while also explaining why wild fish aren't just flying around.
I don't like the idea that many pokemon that are practically useless due to being locked to a specific environment, but I similarly find the idea of flying fish ridiculous. Gyarados learning to fly is supposed to be a big deal.