We use PayPoint as a PSP and you can set payments as recurring although I haven’t had to use that functionality.

I have heard good stuff about Recurly: http://recurly.com/ It does the secure storage of card data and subscription management and seems to work with various gateways.