For legitimate users that are causing chargebacks, the following helped reduce it for us:
1) Emailed invoice every time there's a charge
2) When canceling, also sending an confirmation email stating the date of cancelation (so if they still receive a final charge, they'll know it's because cancelation date was after that final charge).
3) Changing the "Statement descriptor" for the credit card charge to be our domain name instead of our company name.
Since implementing those changes our chargebacks have gone down to almost zero. Hope it helps.