This may just be my account, but I had my gmail set up for a while using exchange and it was great when it worked. I would get my pushed emails for a day or two and then I would get this "cannot connect to gmail" message every time I launched mail. I went back to the built in gmail option with fetch and haven't had that problem since. I set fetch to 15 minutes and haven't seen a battery drain.
I say give exchange a shot and see if it works for you. It doesn't hurt anything to set it up.
+1 on the imap setup.
I have had the problem recently of not being able to contact the imap server, but going into setting and toggling mail on and off fixes it. Haven't figured out why it happens, but it's isolated, and doesn't happen too often