Ahh right I see.
I think a solution could be that he doesn't go to bed as soon as he comes home, just like most people who work 9-5 get home and have an evening before bedtime.
So, he'd come home and do the things he usually would do at 1 - 2.45, watch tv, pay bills, play computer games, whatever he likes to do to relax. Then at school time, he'd take you to work and go through the normal routine at dsil2's house doing the school and then come home and go to bed, getting up later in the afternoon.
If that plan fits in with the afternoon school run (it may not, I know) it seems way better because DH gets uninterrupted sleep.
He seems helpful and usually amenable and while I know its horrible when they snap at you like that, and sometimes it really hurts (I feel for you) I think that perhaps its what other posters said and it's simply a really tired rant. I know when I'm overtired I can be totally irrational about events that are unfolding around me and say some completely uncalled for and unmeant things.
When I look back, I can't see what I was fussing about.
I think if you can find a way to stop the sleep break he'd be a lot happier generally.