I'm not a morning person and neither are my kids. And all of us sleep fine in hotels (they have grown up traveling a lot, they can sleep anywhere). So for us, anything around an hour or more we get a hotel for if we have a morning start time. If it is like 11:00 or later (none ever seem to start at 10:00), then we just drive the day of if it is an hour.
We have one for DS this year that is about 2.5 hours and we will be getting a hotel for that one. A few weeks ago we had one that was an hour - hour and fifteen minutes away and one DD had to be there 8:00 Saturday morning, the other 8:00 Sunday morning. We did a hotel.
For hair, I have almost always done it before we leave. Last week we had a comp at a (physically) small gym and I wanted a decent seat, so decided to get to the gym at 7:20 to get a seat. Since that was 40 minutes before warmups, I just did DD's hair once we got there. I kind of liked it that way, no worries of it messing up in her car seat.