Basic multisite setup help (with membership subscriptions)

I have the general multisite setup working just fine. However, I need to have subscriptions/memberships and this seems to make things super complicated. The website is basically an event site with subsites for each region we hold events in. I want members to register on the site and choose a membership level - free or paid level. Ideally, I'd like the members to also let me know which city is the primary location and what other cities they would like to be notified about for upcoming events.

Currently, I'm told the only way to do this is to register first. Then have a separate process to subscribe. Once subscribed, there is no upgrade/downgrade ability. The member has to unsubscribe completely. Then resubscribe for a new subscription.

This sounds overly complicated to me and not likely what my members are going to put up with. Isn't there a simple way to manage registration with subscription levels?

I'm eager to get a solution and need the help badly. Let me know what you guys think and if anyone knows how to streamline this process so my users will actually want to be part of the community.