So two of my three children were not good sleepers, one didn't sleep through till he was three, the other is only little still so time will tell. These are the things I have tried that have helped (they are the type of children that controlled crying only made things worse for as well, one of mine would do the gagging thing too);
-white noise for the times when they are really unsettled and nothing seems to work, also singing, daddy talking in a low voice, talk sport radio on at a low level, etc
-more food during the day. One of mine was not a big eater and just wanted the boob all night, I made a concerted effort to feed him alot more actual food in the day plus milk, aiming for like 6 small meals, all stuff he could feed himself and that really helped
-reducing to just one nap a day from 11 months and no sleeping after 3pm rule made a huge difference to night waking
-co sleeping but I get that doesn't work for you, could you try side sleeping so like a cot with the side down by your bed (if you get what I mean) so you can soothe them without having to get up?
-exhausting them during the day with lots of activities, trips and physical activity also exhausts me though so I live on coffee!
Also it's worth remembering all babies are different and you've done nothing wrong, some children just aren't ready to sleep through till a bit later. I'm sorry, I know it's hard but it doesn't last forever and you are doing your absolute best. Go easy on yourself and take any support and help you can. You will get through this
always reach out for help when you need to, it's bloody hard work.