Is there a way to prevent CiviCRM profile fieldsets from nesting inside each other?
I'm wondering if using a webform might be a better solution. You could have a paginated webform using webform civicrm, that gets the data into CiviCRM. Then on the webform adnaced, do a redirect to the Drupal registration form with the email address prefilled using the Drupal Prepopulate module.