I'd say Dragonite is probably one of the worse flying Pokemon, mostly because you get Dratini at a very low level, and it takes a lot of experience to level up, evolve, and learn good moves. Gyarados is definitely the best flying Pokemon because you can get a level 50 Magikarp by using repels on Route 43. Crobat is somewhere in the middle.