I think those problems are largely also due to anti competitive and anti consumer behaviors.
We need to craft legislation saying software vendors have to support some kind of standardized payment system with easy cancellation built in to it rather than relying on Apples good will.