D..
The thing is, he "seems" to be starving in the middle of the night, but he really isn't. It's a comfort thing to him. AND, you have allowed him to be "programmed" to wake up because you put a bottle in his mouth. He's used to it.
If I were you, I'd start putting him to bed a bit later, more along the lines of 8:00. Add 15 minutes each night to his bedtime until you get to 8:00. Give him some cereal before his last bottle. That will hold his stomach longer.
You need to be 100% consistent every single night about not giving into a bottle. He does not need the bottle. It's bad for the teeth he has in his mouth too. The reason allowing him to cry himself to sleep is harder is because you aren't consistent about it. You go into him and give him a bottle part of the time, let him cry part of the time. Unless you are willing to do the exact same thing every single night, he will continue to wake and you will all be miserable.
Consistency is key. No more getting up with him. He will learn to self-soothe, and he will stop waking up if you stop going in to him. He's old enough to be doing this now. It's up to you to allow him to learn it. It will take a week or two. If you can't deal with the crying, don't bother to start sleep training in the first place, because you won't be successful if you are inconsistent.
Good luck,
Dawn