My middle school kid gets up earlier than he needs too. Takes a five minte shower (but doesn't have to fool with his very short hair). Does everything he need to and then takes a half hour nap on the sofa. If he does have things to do tha didn't get done the night before, he skips the nap. Everyone else is up early so sleeping through that noise is impossible but his dad and brother are gone by the time he takes his nap. I drive him to school but if I were unable to drive for some reason he would skip the nap and walk the half mile to the bus stop. He does his stuff quickly, longing for the precious nap (if he isn't tired, or the couple of days when he first got the new rick riordin book, he will read instead).

That works for us. I say experiment with different ideas until you find what works. My other son is very very very slow in the morning. Routine and allowing for his speed is what works for him. But he is pretty cranky.