A couple of years ago I switched my workout routine to the first thing in the morning. While I don't like to be tired from that during the day, it's the only thing that has worked for me.
I also don’t like to work out in the morning, but if I’ve failed to hit the gym for a week, I switch to must doing this. The same goes for anything else overdue: Laundry, dishes, accounting, homework.
In the early hours I question myself less, and I just do what I asked myself to do the night before.
This is very good for endurance cardio. Somewhat less so for anaerobic or higher power levels IMO. For those workouts you can benefit from having a meal or two in your system to stress your muscles more without being limited by energy levels.
In the early hours I question myself less, and I just do what I asked myself to do the night before.