You try Girder? It has events for OnStandby and OnStandbyResume for hibernation/standby/etc, and can adjust volume levels. One could probably program it to save the volume prior to hibernation and restore it on resume.