First of all, I wouldn't consider spending money on food a waste. If I were you, I would sit your friend down and point out a few things.
First of all, you have to be upfront with her and tell her that there is nothing wrong with her life. Sure, she made a few mistakes along the way, but she still has time to change and turn her life around. Second of all, she's old enough to take responsibility for her actions. If she got involved in drama, she should find a way to pull herself out of it. Some people just like drama, what can you do? Nothing.
Secondly, don't make it all sound negative. She's just going to pity herself more. Make it sound empowering. "Look at everything you've been through so far, you're a survivor!" or something like that. She doesn't need a man to help her out. "You've done so well on your own already, why add extra stress?" Sure her car got repoed, but this way she's helping the environment, she can get some more exercise, and she could even make looking for a job a commitment to reaching her goal of getting a new one.
Thirdly, you don't have to be so available for her. Take care of yourself first and foremost and when you feel like it or when she really, really needs you (close death in the family, eviction, etc) then you can be there for her. Otherwise, just lean back and let her take care of herself. People like that don't learn until they have been faced with huge crisis and have to start from the bottom.
Give it a shot. If none of this works then I'd say you've really got nothing to feel bad or guilty or regretful about in saying goodbye to the friendship.