Kacey, this may sound silly and I don't know if it'll help you, but it's what works for me. I've had sleep problems all my life. It kind of runs in the family. No surprise there. I think we're a family of professional neurotics.
Generally speaking, once I finally get to sleep, I sleep well enough. The problem is that sometimes it can take me a long time to drop off. Sometimes I might drop off in good order, say 1/2 hour or so, but often enough it can be a lot longer--2-3 hours. And it is true that quite often I wake up in the middle of the night and might have trouble getting back to sleep.
One thing I try to do is not get wound up about things in the hours before bedtime. If you have worries, get that done during daylight hours. In the evening try to relax in whatever way you do that.
But basically what I've done is simply stop worrying about lost sleep. I tend to go in streaks: I might have 3 or 4 bad nights in a row, and then a stretch where I'm sleeping well. I learned a long time ago that I can go 3 or 4 nights in a row with maybe only 4-5 hours sleep. If that went on forever, yeah, it would be bad, but I've learned that that doesn't happen. So when I'm having a bad night, I just don't worry about it. I know that it isn't going to hurt me much. I lie there in bed and try to think pleasant thoughts.
Ironically, I don't mind too much waking up in the middle of night. In a way I like my bedtime. I feel nice and toasty, and safe somehow: nobody can get me here. So if I'm awake, I just enjoy being in bed. I always get back to sleep eventually.
It doesn't help to get wound up about losing sleep. That'll pretty much guarantee you that you'll lose more, I think. So for me the solution is simply not to get wound up about it. I don't know if you're in a position to do that. If you're not, then you're simply not and you'll have to find another solution. But I sympathize with you. I know the problem.