I would honestly recomend a Salamence or Altaria if you want a non-legendary pokemon. As if you want a legendary pokemon I'd get Zapdos.
Any bird pokemon but the best four would be moltres staraptor articuno and zapdos
Crobat because of its speed and for a legendary id chose rayquaza!
Any pokemon that can learn it and brave bird make it hold a focus sash
I think the best pokemon to learn fly is a charizard , dragonite, articuno, moltres, zapdos, hoho, ryquaza, latios, or latias. ( Charizard would be the BEST though because Charizard fcking ROCKS)!