Have you tried not giving him a nap to see how he does? My mom said I quit napping when I was 2, and it just made bedtime a little earlier and easier for them. One of my boys quit taking naps at home most days by age 3 (they make all the kids take naps at daycare, which makes him stay up way too late at night, very frustrating), but my other 2 1/2 year old can sleep for 1-3 hours and still easily sleep from 8:30pm to 7am.
This seems very counter-intuitive, but I discovered a few weeks ago that my younger one really likes to go to sleep with his light on, and I do our bedtime routein, give him a big hug and tell him he can play quietly with his light on for a few minutes then he needs to tuck himself in and go to sleep, then I close the door. When I check on him 20 minutes later his light is still on and amazingly he is sleeping! If I try to turn the light off and make him lie down and cuddle etc. the process will take forever.
I moved both of my kids to the crib mattress on the floor when they were about 1 1/2. Your son sounds more like my older one who doesn't need as much sleep and ALWAYS fights it, but since he is the same age as my younger one you might want to try something different and see how he does.
Good luck!