Sleep is just a nasty workaround for long boot times. Fix your boot times and sleep becomes unnecessary.
What, you say you wish to resume without closing your applications? Shut down should be completely replaced by hibernation.
In short: fix boot times (say, 3'' max), completely remove broken sleep and replace shut down by hibernation. Problem solved!
(And when you need a 100% boot, just reboot).