There should absolutely be a max percentage of the overdrawn amount, and only one charge.
None of this "we'll let you rack up 10 $3.00 swipes while overdrawn so we can hit you for $350" bullshit.
Or the re-ordering of payments to maximize the fees. Wells Fargo was pulling some bullshit a few years back where if you had $100 in your account and you spent $4 then $5, then $9, then $20, then $105, they'd process the $105 first so they could get you for overdrawing 5 times instead of once.
Same here in Germany. The heirs of a deceased relative and a living cousin are currently trying to get the money back from the bank for some overcharge fees happening between 2008 and 2015. It is only around €300 for everything but you gotta teach them a lesson or else...