1) Use the settings in the original subscription form on the manage subscription page:
a) Output the Additional CSS Classes (found under Advanced in each field's settings). This would allow more CSS control of the content output, especially for custom fields. For example, I am using the extra class to group my custom checkboxes and control the spacing between them so that they look more like a list. This works in the original form but the [mailpoet_page] shortcode generates the update form without using any of the custom classes.
b) Apply the setting for showing/hiding the labels. With the custom checkbox fields, showing the label above the checkbox is not necessary.
2) Provide a consistent layout like in the original subscription form. All fields just get dumped into a single column.
3) Allow more control over the text on the page. A filter for these items would allow a user to change the text as desired. For example, the "Your lists" text. I called the lists "topics" in the main form and I don't want the user to be confused.
Attached is a screenshot of my custom manage subscriptions page that gets generated. I can't easily modify the paragraph padding for the custom checkboxes without affecting the rest of the form. And I can't hide the checkbox labels without losing all labels which doesn't work. If the classes that I added in the original form were included, I could target the custom fields only.