I can't say whether or not your approach can successfully be handled by SafeCracker Registration or any of the manage members in channel options. Mainly, because they are typically set-up to assume you will be placing members in a single channel.
That said, I can think of two options:
Use a single
members channel, but different registration forms
members channel to membership group in EE's Membership
For the first option, yes, you channel could end up with a lot of fields in the backend, but you can only have and display the fields associated to a particular member group to them on the front end. It also means that if you had any shared fields, say like capturing gender, or birthday, you could search specifically in one place, as opposed to having:
With the second option, if it's doable, you can probably get close to what you want if you match channel names to membership groups. So in EE's Membership Manager, where member groups and permissions are controlled, you have the member groups:
channels your channels are called either:
That way, there member_group and related channel is part of the basic membership management.
member_group would be visible in the list, and would match the designated channel.
Either way, I'd test, with just a small field set and SafeCracker Registration first. There maybe other issues with managing multiple member channels, but I'm not certain if anyone's has ever tried before, so it may work perfectly fine.