Also, if you do integrate multiple providers early on, you can break users up over them so that again your risk is minimized. This does come with some accounting pain, but it mitigates some risk so it is worth it. So essentially if you had to move away from one vendor it isn't your entire customer base all at once.
there may be other services that do something similar, but if you're concerned about switching services, and don't want to have all your customers reinput billing info, spreedly (or similar) would probably be worth investigating.
They support something like 90+ gateways around the world. Not everyone will necessarily need that flexibility.
But on the topic of switching....
How much is it worth to you to be able to switch without losing any recurring revenue? If you're OK with a potentially large portion of your recurring billing going away because you want or need to switch gateways, DIY is fine.
Again, not a direct user (though I've tested their API for a project), but I have colleagues using it, and for one in particular, the value it brings both in breadth of processors and potential for switching is extremely valuable to him (and his clients).
You can switch providers in a over time fashion by sending all new people to a new provider, and maybe sending out an "update your details" to existing people. If any existing users take action, move them over. If not keep billing on the old platform.
How often do you honestly need to switch gateways though? Most companies do it 0-1 times in the first 10 years of business I would expect.
Having a transition step where the users know something is changing can be helpful to cover the edge cases.