You're on the right track.
I know it's scary. It's terrifying. We've all been there. The problems with your ex don't help anything either but you have to realize that his problems are his own. He's not a table or toy that can be "fixed". He's not a computer that just "malfunctioned". His problems are serious. They run deep. Far more then just you doing whatever to annoy him. No one ever deserves or asks to be hit. That is childish. That's the kind of thing my son does but that's because he's 13 months old. There's no reason for a grown up to hit someone else.
You have to realize and accept how serious these problems are. They're not something that are just going to go away. You've already seen that he doesn't follow through with his promises. October was 5 months ago. There's no excuse for not having a job now....Even if it's something menial. If he had actually wanted a job and wanted to get straight...He would be. He doesn't want to so he won't. A baby won't change that. So many women hang around for years, hoping that something will change and giving up everything that they are for these guys who just stomp all over them...Physically and emotionally. It's not worth that. You are worth more. There are other guys out there better then him..By far. You don't really love him because who loves being put down? Being hit? Being disappointed all the time? Pulling all the weight in the relationship? You love the idea of him. You love the person that maybe he was when you first started going out. You love the idea of a person that he can't be.
You have to do this on your own. And if you want to put your baby up for adoption, do not let anyone stop you. It is your choice and it sounds like a mature decision if ever I heard one.
Good luck and stay strong.