Well, Z-wave is hardly standard either. That's one of the big problems with it. They started it so early in order to get to market first that it's been through all kinds of hoops to try to solidify it to something that's useful. That means that there's many ways to skin every Z-Wave cat and trying to support Z-Wave in any really solid way is stupidly difficult because of that. I always call it the non-standard standard.
Zigbee's 'non-standardness', by comparison, is standardized non-standardness. They define different profiles that folks can use, and it makes sense to do so. But those profiles are well defined. So they offer the ability to target specialized markets, and that's what you are interpreting as non-standard, but it's really not. Z-Wave's non-standardness is unintentional, by comparison, within what is supposedly a single protocol.
On the battery life, you have to be careful about that. In many cases battery life depends on a usage that will never work in a real automation system. For instance, a z-wave controller can't talk to batter powered devices until they wake up. If that's every 8 hours, that's pretty useless because if you ever need to restart your controller, it could be up to 8 hours before it could get the status of some of the devices. Bring those down to useful wake-up periods and the battery life drops significantly.
Z-Wave is the retail winner now because they started it so much earlier and targeted a much lower end market. As Zigbee grows and economies of scale build up, it's greater intelligence might make it a better option, particularly when it's also often going to be used within commercial automation systems, making it easier to integrate Zigbee devices in a built in way.