Sounds like you're changing his bedtime all over the place hoping something will help. But that doesn't really ever help - all it does is mess him up. Don't put him to bed real late - that just means less sleep for everyone.
One of the reasons that he is fighting going to sleep is because you are not consistent with him. You are frustrated and tired and just trying this and that. It won't work. Overtiredness can prevent a child from sleeping as well.
He needs one nap in the middle of the day, right after lunch. Don't let him sleep more than 2 hours. Make it every single day. Don't let him out of his room when it's time for the nap. If he wants to cry for 2 hours, let him. But from 12:30 - 2:30 is quiet time and he doesn't get to have you to play with. When he realizes he is stuck in his room, he will either play quietly or fall asleep because he is bored. If you get him up at 2:30 every day, he will finally get used to the new routine. Don't take him anywhere during this time. This is sleep schedule boot camp.
At night time, NO TV after dinner. NONE. TV stimulates a kid's brain. Bath time and brushing teeth and quietly reading books until 8:30. Then put him to bed. Do not let him come out of his room. You and your husband should start going to bed early. Do not go into his room. Period. If he screams, he screams. When you have spent TWO WEEKS making him stay in his room without going in to deal with him, he will finally understand that you are not going to continue entertaining him, and he will finally start to sleep. He'll wake up because he doesn't yet know how to self-soothe, but if you aren't going in and bailing him out, he will finally learn how to fall asleep.
I will tell you that with a child who sleeps as little as yours does, (if it really is as you are saying here, and not just what it seems to be when you're sleep deprived and about to lose your mind), that your son may have ADHD. When he is older, you'll know better. Right now, it is IMPERATIVE that you keep him on a strict schedule and stop running circles around him trying to find things that "work". NOTHING is going to work. You just have to bite the bullet and put the onus on HIM. It is his job to go to sleep. It is your job to have a safe room for him where he cannot get hurt, food in his stomach, a quiet bedtime atmosphere without a lot of stimulation (reading books, quiet music on a CD) and lots of DAYTIME love and attention. However, night time and naptime are his ALONE.
Be 100% consistent. Do not vary or it will undo any progress that you will make. This has been going on for a while. Don't expect this to change overnight. You must perservere. If you don't, you'll end up in the hospital due to exhaustion.
Good luck.
Dawn