I did create a Wordpress plugin that helps solves this issue with having users be able to manage their email preference center directly from your website. If you are interested you can take a look at https://wordpress.org/plugins/pramadillo-activecampaign-email-preference-center/
It surprised me too that there isn’t a more elegant way (“built in”) for subscribers to self-select which types of emails they want to opt out from, without opting out of everything.
So created a custom form on my site, which syncs the person’s list preferences back to ActiveCampaign. I integrated the form on my site (Gravity Forms), Zapier and an ActiveCampaign automation to do this.
I made this video demonstrating the entire set up here:
I hope that helps!