I would HIGHLY recommend getting food allergy testing. Especially the gluten test (be prepared to fight for it). My son NEVER slept through the night. He would wake up every 3 1/2 to 4 hours like clockwork. Believe me I have been all over this issue. My son is 5 and I found out this March he was gluten intolerant (gluten test ordered by pediatrician). Finally after after a couple days or a week fo going gluten free, he slept through the night and has since. I thought, no way it could be this easy.
Here are other possibilities and what you can do. You can give him melatonin. You can get this anywhere and according to my Ped, and my own research, there is no negative consequences to taking it. Start off small and increase the dosage if you need it. Your body naturally produces melatonin and some people are lacking in it.
You can do little massages. Massage his feet before bed, this one has been told to me by occupational therapists and I have done it for my son and daughter. Also, is it possible he's a sensory child? This is quite common. You can take a quick checklist to find out. Google The Sensory Child Has Fun (I think that's it) or Sensory Processing Disorder.
Have you already tried to make sure he's on a routine? He also might be hitting the night terror stage. Also, for some kids, a bath does calm them but actually stimulates their nerves.
Is it possible he has gas pains and could be lactose intolerant? My daughter used to scream in bed because of the pain but she would never wake up. I notice now she has a really bad night if she has a lot of dairy.
You can try adding Epsom salt to his bath. I know some moms swear by it, and I have used it. I really have done mostly everything. I noticed a lot of things I tried calmed him, but he was still waking up. When he got older he would wake up but immediately put himself back to sleep. To find out it was gluten and such a simple test, I would say definitely test. I am learning a ton about this stuff and amazed. I can give you good books about it if you want to learn more.