My kids were never great sleepers either...but your son's sleep habits don't sound abnormal to me. I also have a 2 yr old and his "routine" is very similar to this.
I've read all the sleep books too, and never found any great insights.
The best thing I can recommend is make sure he's getting enough physical exercise in the morning. I have DEFINITELY found that if we run around outside, go swimming, etc. the kids sleep better at naptime.
I don't think you can make any big, sweeping changes to his sleep schedule. If he's acting tired, but won't sleep there's little you can do. If he wakes from a nap, you can't MAKE him go back to sleep.
I say RUN the energy out of him. Feed him lunch early that day and try to get him down for a nap before 1pm. Put him down right after lunch - never let his feet hit the floor.
Then at bedtime stick to a firm routine...dinner, bath, book, bed. Make sure that after dinner, dim lights, keep the house quieter than normal, and give him all the cues that it's "relaxing time" - no tvs blaring, other kids running around, etc.
I'd love to hear back from you on how it's going.
Good luck!