I am trying to figure out the best way to do it in a way that is compliant, practical and manageable.
In my head there are a few options. Any advice is appreciated (we use Mailchimp).
Method 1: start from scratch (the easiest)
Create a new email list with zero recipients and a new sign up form. Email the current database encouraging them to fill out the form and, essentially, rejoin our mailing from scratch.
Method 2: unsubscribe, update preferences or leave things unchanged
Email the database and offer them the chance to unsubscribe, update their preferences (perhaps to change email address or change the groups to which they are assigned) -*or to remain on the list as things are, unchanged. All of this will be achieved by sending them to the preference centre.
Method 3: Simply ask a yes or no question
Forget about the preference centre option for now and just take note of those who click on "yes, I want to continue receiving comms from you". Download these emails and paste into a new list.