I have a son who sounds a lot like your kiddo, and I was this kid way back when. My son has always been a difficult sleeper, but so am I so I think I was better prepared to handle this issue. From my experience having a set ritual each night is helpful. One thing we've done that's worked as well as having him listen to music with headphones. Keeping the room as dark as possible is also good with a light he can control like an LED reading light so he can either read or use it as a nightlight. Sometimes I also put him in a warm bath before bed or encourage him to take a shower.
Try to create an atmosphere of calm, when bedtime becomes anxiety producing there is no way to sleep. And be sure to explain to him that there is nothing wrong with him, some people just have trouble falling asleep or staying asleep. I came to the conclusion years ago that I just need less sleep than other people, my son is the same way. Lately, things have been better, he's asleep pretty consistently by 10 pm, but these things go in cycles. It sounds like this lack of sleep is distressing to him so I would avoid having him lay in bed waiting to fall asleep, that was always the worst for me as a kid and exacerbated my anxiety about sleep.
Cure Insomnia - Six Steps To Sleep - http://docdro.id/4orWjrx