To quote the Irishman when asked for directions:
"If I was you, I wouldn't start from here at all!"
Suspend and resume are major deals requiring balancing of all sorts of things. They were developed over years by project teams. For instance, the original APM implementation couldn't effectively handle IBM Thinkpads, which broke a number of expected norms and created havoc with interrupts. So it was dropped, and a whole new approach (acpi) was started, which initially was worse on many boxes.
You don't need a suspend, or hibernate. You want switch off,and autostart, and something like initng
which boots and shuts down quicker. The beauty of suspend and hibernate is that you stay there with your same lusers logged into the same places, same programs running, reading same files, with environment variables intact, etc. This is behaviour you do not want.