He wakes sometimes at 5 or 6 actually quite often, and I will usually get him back to sleep till 7-7:30.
Do you feed him to get him back to sleep here or does he go back down independently?
If there is no illness-reflux, teeth, colds/flu, etc then
I would control the wake up and not let him sleep past 7, I would then shift his naps closer to 8:30/9 ish and 12:30/1 so that they are falling closer to his natural biological nap times. If you don't do the cat nap anymore or have recently dropped it, then bedtime needs to be early. I would say anywhere from 3-4 hours after wake from the last nap-even earlier if he's having a rough day or not very good naps.
I would also say that you need to be really consistent in your soothing methods-if you nurse him back to sleep sometimes and then other times wait 5-10 mins, and then other times do something different, then you're going to confuse him as to what's expected of him. You need to find a method that works for you and that you're comfortable with and stick to it.
I know it's hard, but consistency is the key-and getting the nap times right.
Let me know if you have any more questions.