What I would personally recommend is getting a portable charger and carrying it with you. That's what I do. Works fine for me. Good 6000mAh ones will run you about $50.
With franco's kernel, MMuzzy's French Vanilla ROM, and undervolting I've been getting excellent battery life. I'll do a test tomorrow just to see how it lasts without being charged.
If you haven't tried undervolting, I can't recommend it enough. I was able to undervolt every setting by 75mV, and then overclock it to 1305mHz while still consuming less power than the stock settings. My phone gets cold when left idle, and under max load with the screen at 100% it only gets slightly warm.