Alright, so after thinking it over I think I've come to a decision. I'm going to continue using Gmail and iCloud Mail. I'll use iCloud Mail for all my personal emails and Gmail for registrations or mailing lists. I refuse to use the Gmail app because I prefer to have a unified inbox and the stock Mail app does it perfectly for me. Also, I've decided to set my gmail account to hourly fetch since the mail I receive in my gmail (after I update my email settings across my accounts) won't be as important so I won't be as bothered if I can't get push.
Two things though:
1. No one has commented on Aliases in iCloud Mail so I guess I'll look it up on their support page.
2. If I forward my Gmail to my iCloud mail wouldn't I then get push for those emails as well...?
You can also look into outlook.com. That supports push and you can set it to get your gmail. Then use the native mail app if you prefer.