As previously said, Android (in my opinion, at least) surpasses iOS in terms of everything but games, excluding emulators. The creator of the emulators for iOS hasn't updated them to work well with iOS4, while Android's emulators are as good, if not better than, ones on a computer.
Battery wise, neither are too great, but I'd say iPhone wins. But there are car chargers for both, so no matter really. Display wise, obviously the iPhone's Retina Display wins, but I can't see Android's screens not getting better in the near future.
If you are going to get an Android, don't get a cheap one. Fragmentation is an issue, but mainly on the lower to middle end handsets. Rumor has it the Nexus S (as it's currently called) will launch soon enough, and that'd be the phone to get when it does; it'll be Google's development phone, meaning that it gets all the latest updates the quickest, it will run the smoothest, and will have so many root options as time passes, much like its predecessor.
tl;dr, I vote Android.