What is the best Pokemon that can learn fly in Pokemon ruby?

Rayquaza is the strongest/best Pokemon that can learn fly, but you can only access Rayquaza AFTER you beat the elite four. Flygon is the best Pokemon before you beat the elite four that you can catch.