The problem is that it is people like you who are abusing the system and making it more expensive for your friend, and vilifying the banks only encourages more abuse. (And I am not saying that you are abusing the system - only that the banking crisis wasn't caused by lending to the poor.)
I hope that the bank has an option that will help your friend prevent those charges, but even if the bank declines any transactions that exceed her account balance, it can't guarantee that she won't ever overdraw her account. It isn't possible for the bank to do that, and even if the bank lowers its fees, its fees are more expensive than your friend can afford. If your friend asks the bank to eliminate her shadow line, it could be worse for your friend because bounced check fees to businesses are much higher than what the bank charges.
My mother has never been able to maintain a checking account balance so she deals in cash and money orders. She has done that all her life. Perhaps that would work better for your friend. I know I am probably coming off as heartless, but that isn't my intent. It's just that I know that ceding control to the bank will not solve your friend's problem. It could make it worse so it's best if she figures out a way to solve it herself.