Others, like KissMetrics, sends you an email a few days before billing you... but their price points start in the 3-figures.
I think a policy of "We will bill you monthly and send you an invoice every time we bill you, and we'll always refund your last month's payment if you'd like" is best.
Would like to point out that separate from the fact that it bothers you and/or might not be right or ethical or whatever there is no doubt that in general in business you don't want to make it to easy for someone to think and cancel.
I don't think everyone feels that they are "ripped off" just because they didn't get notified that they were still paying for something that they agreed to.
An example is, say, with cable and a premium channel.
We decided to get showtime so we could watch Dexter. We forgot to cancel. The cable company didn't ask us each month "by the way we are still charging you for Showtime, ok?". By some of the comments in this thread it's as if people would expect that would be the "right" thing to do.
Forgetting personal responsibility for a moment if, as a business, you constantly give people a chance to bail many of them will bail (even for the wrong reason) and you will make less money.
The credit card companies by the way will approve charges even on expired credit cards. (Under a certain dollar amount you just have to put in the current month to get an authorization). Apparently they haven't found that practice to be a problem with consumers (although I'm sure they do get complaints.)
Eh, I think if I have a product that the consumer doesn't want, I've pretty much already lost. 'extracting value' from people who aren't paying attention is best left to the professionals. I mean... the line between making it hard to cancel and outright fraud... can get fuzzy. I think it's best to make, as it were, a "Good faith effort" to insure that you are only charging people who want to be charged.
Now, you can argue that recurring billing with an easy way to cancel can count as that 'good faith effort' - It's certainly the industry standard.
If you start doing things with the goal of making it hard for users to cancel, though, you are certainly stepping outside of that 'good faith effort' - and where the line is between that and outright fraud, I do not know. I do think that my current system, with it's manual cancellation process would be unacceptable by my standards if I pulled money from customer accounts. I don't think it would be unacceptable by legal standards, but it would be well into the gray area.
What I've found as a general rule is depending on where the line is people tend to think that someone who does something that they wouldn't do (wherever the line is for them) is either a) "really honest" or b) "a crook, cheat, dishonest etc."
Same with paying taxes. If we can assume that most people fudge a bit then someone who fudges 5 times as much is a cheat but someone who goes to extraordinary means to pay every cent is "really honest". Because it's usually in relation to how you view what you do as being "the right middle ground".
You strike me as being really honest by the way simply because (using my own ethics) you do things that I don't do more in the direction of being transparent and to the benefit of your customers at your own expense.
As a business you might give someone a 100% money back guarantee. But the same business would never go to someone and say "by the way you haven't complained are you sure you are 100% satisfied? If not let me know and I'll give you your money back!" What do you think would happen then?
(The above is a bit of an extreme example to make a point.)