Gmail supports IDLE according to a quick search. I wonder if battery life will be adversely impacted because now you will have another persistent socket connection to Google instead of reusing the push notification socket that Exchange syncing used.
I can't pretend to know anything about IMAP or Exchange, but one would assume that push uses less than polling the email server every 5-15 minutes.
I use an Android phone and I get an email notification via text messages.
Works well in India, not so much in USA (due to the 140 char limit in Twilio, message concatenation is not allowed)