we use worldpay's futurepay system
worldpay send us an email every month listing which customers cards are due to expire
when cards expire or fail, we have a standard email we send to the customer telling them to login to worldpay's system and update their card details
(bear in mind customers NEED the email - updating card details isn't something a customer will do regularly - they may have subscribed 2 or 3 years ago!)
about 70% of customers whose cards have failed manage to update their card details - payments are then taken automatically again
about 15% don't read the email and get confused with the logins and updating details (and they're almost certainly the type that wont RTFM for anything) but eventually get their card details updated
the other 15% don't update their details and we terminate their accounts, but at least we've had payments from them for a year or two or three!
put the time and effort and money into a good system and it pays you back many times over