Sometimes, being a good person requires sacrificing oppertunity for the good of others. If you charge high, you'll be in quite good financial straights, but if you charge low (or even not at all) no one will be able to question your status as a good person but you'll be poor. Thus is the problem of blanket descisions.
As such, I think you should decide your client's payments on a case-by-case basis. If you come across one of these people who are innocent but lack money? Offer them your services dirt cheap. Will you make as much money as you could this way? Almost certainly not, but there are rewarding things in the world beyond money, and protecting the innocent at cost to yourself can be that. Of course, not all of your clients will be like that, and that's how you can make money, from those who have a chance of paying a normal rate for your services without being plunged into lifelong debt if they actually manage to get a large enough loan to hire non-court-appointed legal counsel in the first place.
I realize that that plan is going to sound extremely unappealing to you because of all the hard work you put into entering this field of work, but that's all I've got. Just keep in mind that you are a part of the justice system by being a lawyer, and thus have sway over what happens in courtrooms. You say that there's no justice, but you, Truean, can try to change that.
I guess what I'm trying to say is that while you put yourself at high risk of being taken advantage of, trying to help people with a higher level of selflessness means that you will save innocent people from wrongful imprisonment/life-crippling fines, and that can be more valuble than all the money in the world.