I do it because my brew day consists of a lot of time heating up water and various vessels I use in brewing. Each transfer looses me about 11 degrees, more if it involves splashing, etc. I am doing whatever I can to shorten my brew day.
I have a triple tier 12 gallon batch electric rig that I setup the night before, heat water in the kettle then pour it into MLT to preheat. When I wake up I just drain the water and bring up to temp and am setup and ready to go faster in the morning.
My last attempt was to use a 120V timer, $16 at home depot with complex timing functions to turn on an hour before I awake. Turning on the 120V will power on my PID and contactor switches which will heat up both my kettle and HLT to a preset temp. That way when I get up I will have 20 gallons of water ready to go and can mash in first thing. I had to work late the night before and was trying to setup the system at the last minute with SWMBO unhappily trying to sleep in the bedroom below, so the setup was rushed and the timer was set wrong. I have since tested it out and I should be good to go for future brew sessions.
One thing you neglected to mention is what is your MLT? If you are using a cooler maybe you could get it to 180 degrees before going to sleep. It should be around 160+ in the morning. If you have crushed your grains the night before you could get up and mash in within 10 minutes of waking, then take your shower, and begin heating the sparge water. You'd be an hour ahead of the game.
You could also create a timer for your stove to go on at a preset time but my guess would be $50+ for the parts alone.