Its all about coverage, I would consider that the single most important thing. For example Im from South Florida, an area with excellent coverage on all services. That being said, a few months ago I switched from sprint to ATT. Sprint data speeds are so slow compared to ATT, and are much less reliable. Sometimes I would get just as quick speeds, but they would jump all the time depending on the area. Google music was useless for me on sprint, because sprint couldnt even stream my songs quick enough for them to play without buffering. That and the fact that my family plan is cheaper on ATT made it a no brainer.
ATT is a much better service, even when you think you have full service on sprint. I wouldn't switch for such negligible differences between phones, unless the storage is really just unacceptable. Dedicated camera is nice, but this thing takes pictures so quick that shake is rarely an issue. And as was said, the battery difference won't be noticeable.