In my world, you generate a single purpose card number for each subscription, or block the company at the bank level. My world is all about personal responsibility.
You would presumably notify the company about the cancellation, wouldn't you. Unprofessional not to do so. However the ability of a company to not accept cancellation sent by, say, email, is not possible without the government acting to enforce such restrictions.