For those interested, the way I'm planning to improve on the standard GC sign up process is to give users a URL e.g.
www.cleanerplanner.com/acme/pay and/or a "widget" you can drop on to your website, which allows the customer to identify themselves in your customer database before sending them off to GoCardless.
i.e. it could simply ask for their customer ref (depending on how you configure CP) or perhaps name and first line of address. This way we can tally things up ahead of time, so that when they later sign up for GoCardless and make a payment, the system will automatically attribute it to the correct customer record without you having to sync on email or cross-match manually.
The only caveat of this (and this is a GoCardless limitation) is that any customers created this way (via the API as Window Lickers pointed out) can ONLY be charged via the API, you won't be able to charge them manually via the GC dashboard. However, GC have confirmed that if you later decided to move away from CP (or another software that integrated with GC) then you could contact them and ask them to move all your customers to the standard GC dashboard.