Changing someone when they don't want to change is a frustrating thing. I have no advice, just my own personal thoughts. Seems like you know what you want, and this is just not that easy

Leaving seems a lot more responsible than to try and force him to change - IF he doesn't see any reason for himself to grow (If he is comfortable as it is - why should he?)
Another scenario I could think of: What if you stopped taking care of him while you two are still together? What if he was forced to take care of himself without you guys splitting up?