Fearow @ pink bow
EVs: 25600 Atk
- return
- drill peck
- fly
- leer/steel wing
Fearow is by far the best early-game flying Pokemon in GSC. It has boosted leveling rate, above average physical attack, STAB return, and the second strongest flying move in the game. (sky attack doesn't count)
Gyarados @ pink bow
EVs: 25600 Spe
- return
- surf
- fire blast
- blizzard
Gyarados is notable for arriving at a high level at the Lake of Rage, and it also has a high physical attack. Unfortunately, none of its STAB moves are physical, so it will be relying on return most of the time.
Ho-Oh @ sharp beak
EVs: 25600 Spe
- fly
- sacred fire
- earthquake
- recover/shadow ball
Like most box art legendaries, Ho-Oh has high attack stats and several powerful STAB and coverage moves, and its main drawback is that it arrives near the end of the game. Fire flying is also a good offensive typing.
These next 3 Pokemon were introduced in gen 2 (and are obtainable earlier than Ho-Oh), but their attack stats are significantly lower.
Noctowl @ pink bow
EVs: 25600 Atk
- return
- fly
- hypnosis
- dream eater/steel wing
Hoothoot can be found very early, but all of Noctowl's STAB moves use its awful 50 physical attack. Its special attack is higher, but its only powerful special move is the unreliable dream eater. How much use you get out of hypnosis depends on how much you enjoy fighting the RNG.
Crobat @ pink bow
EVs: 25600 Atk
- return
- fly
- steel wing
- wing attack
Crobat is annoying to evolve, doesn't learn any STAB moves before level 30, and has 4 weaknesses. Its strongest STAB move is fly, which does only a little more damage than non-STAB return.
Mantine @ mystic water
EVs: 25600 SpA
- surf
- blizzard
- wing attack
- waterfall
Mantine has one good STAB move and can learn it immediately after you catch it, although its stats are still not great. It's outclassed by other water Pokemon with better stats or moves, like Golduck, Lapras, or Gyarados.
source
source