Not sure if there is any one solution to this, however I had been following a thread over on x*a on this issue. In my case, and based on scouring pages of that thread (didn't bookmark it, tho) and using BetterBatteryStats (its available free by the dev on x*a or as paid app on Market) I found a few culprits in my case. If someone really wants that link, I will try to dig it up, though it takes time wading through the GSM vs. CDMA posts to find useful tidbits. But here are a few things I've found on my phone:
-- even with wifi off, when I left the wifi sleep advanced setting at "always" it was keeping my phone awake for a significant amount of time so changed wifi on setting to either 'when plugged in' or 'never', resulting in much less awake time
-- with Google+ loaded, but opting to NOT sync photos, there was a fair amount of awake time from attempting to sync photos, so deleted Google+, resulting in less awake time
-- Talk was also accounting for awake time, even when I was signed-out, so disabled Talk within Settings, resulting in less awake time
Since I've recently switched ROMs and kernels twice in the past two days, I'm going to be watching my Partial & Kernel Wakelocks (via BetterBatteryStats) more closely again ... but in fact, looks like I need to swap out the latest IMO exp kernel now as in checking, I'm showing 1h 13m Kernel Wakelock due to "vbus-tuna_otg" which hadn't shown up on any previous kernels to date.
Whether this all is an ICS bug or some apps just not playing nice with ICS ... hopefully someone can figure it out.