there is a lot to think about here. Decline, charge backs, expiration dates, etc. What you need to do is make sure that your credit card transaction provider FULLY understands your business model. Based on the risk with declines and charge backs they can work with you / you can negotiate what rates and fees are associated.
Try to be as proactive as you can with expiration dates as well. If you know the card is going to decline in April, then make sure you start to notify the card holder 45-30 days prior to expiration so they can update their payment profile in your system.
Scale is something that actually should help the problem, meaning if you have 100 customers and you have no idea how many will be declined monthly, then the transaction provider will not like that and charge you more... if you can tell them you have 1,000,000 customers and 16,000 will expire each month and you will have 1,000 declines, then they know how to model your risk and charge you appropirately.