Sounds like you are in a similar boat to us. I'd suggest you start pushing out the morning nap - I'd delay the first nap until 10 for now - if you do that will he take a long nap? I'm currently doing this with my DD - she really needs/loves her morning nap but if I let her sleep too long she refused PM nap. I've tried waking her early from morning nap but then she's just a royal crank all afternoon - so the new plan is to delay morning nap as much as possible without her getting too overtired, let her sleep as long as she can, and then early bedtime. We usually can get her to 10:30-11 and get a 2 hour nap and then bedtime 6:45-7... We plan to try to keep pushing out the morning nap until it's starting at 12 (and eventually 12:30). So maybe in your case, this week delay first nap until 10 and see what that gets you and if that seems to help next week try 10:15 and then 10:30 and so on?
Also, if you let him take a good morning nap will he take a catnap in the afternoon if needed in his stroller or the car?