E.M.
I think phasing out that third nap is giving you the trouble. It would be unrealistic to expect him to stay awake from 12:30 all the way to 7pm. It might be best to think of his naps in terms of the time in between. Depending on the baby, they can probably stay awake around 2.5-4hrs in between naps. So if you he is phasing out one and you are now only going to put him down for two naps try to push them a little later. And also space them out evenly.
Maybe first one is around 9am (1.5hr) and the second one is at 2pm (1.5hr). I know you can't control how long he sleeps, but maybe with only 2 naps he'll sleep longer. This sleep training does require you to put him down and let him cry a bit. We did the gradual method of going in and checking on him 5min, then in 10min. etc when he cries. Don't know if you're open to that. But now he hardly ever cries, and if he does its only for a few minutes.
We've sleep trained our son to nap at 9:30 (2hrs) and 2:30 (1.5-2hrs). He gets up at 6:30-7, and sleeps at 8pm. We try not to divert from this more than 15-20min. I realize it's hard when they wake at different times. Our son sometimes gets up early (5ish), so we give him a small bottle, stay very quiet and put him back to bed. Then he gets up again at his regular time, so he stays on schedule for the rest of the day. Also, at that second nap, it's important to wake him if he sleeps too long. Otherwise it may interfere with his bedtime.
Hope this helps. Good luck.