J.M.
I find with my son (age 2.5) that he actually does better when I put him down earlier, instead of later. Also, you said you son is hit-or-miss with naps - when my son doesn't take a nap, I put him down about an hour earlier than normal to make up for the missed nap - and he generally sleeps later.
Has you son gotten all of his molars? He may be having some tooth pain and that could be causing the early waking. My son woke up during the middle of the night quite a bit when he was getting his molars.
Hang in there - it is usually a phase and should pass. But in the meantime, try putting him to bed 15-30 minutes earlier and even earlier than that if he doesn't nap - and see how he does.
J.
A Mother's Boutique
Breastfeeding clothing, nursing bras, breastpumps, slings and accessories
MamaSource members receive 10% off their first order using promo code "Mamasource"
http://www.mothersboutique.com