For some lab environments, we've simply configured automatic shutdown after hours if and only if nobody is working. If the system is in use, it is not shut down. Then the system is started again on demand. Spin up time is so quick that there is no value in pre-starting.
This is working well. A few guys used to complain about having to wait for that first boot, but in reality, it's almost always the same guy who's first in the office that gets it started, so complaints quickly went away.