Our legal team believes we need to treat email preferences per email address, not per person record. This works great for Marketo's system unsubscribe field because of Marketo's Durable Unsubscribe logic. However, I can't think of a way to natively mimic this logic within Marketo for other fields. Unfortunately we have a lot of duplicates, especially at the customer level, which are purposeful.
So for example: Person A and Person B have the same email address. Person A unsubscribes from the Newsletter category in our Preference Center. How do I also update the Newsletter field for Person B to keep their preferences in sync?
Is there a way we should try to code this outside of Marketo using APIs?
Yes, but there are 2 parts to Durable Unsubscribe you need to emulate.
It's not only syncing the field to other leads with the same Email Address (if it's Boolean true).
It's also remembering that an email address had certain preference fields before it was deleted, even if there are no leads currently in the database with that address. When a lead is created, the fields are restored.
Both can be accomplished via webhook. The first uses the API, the second must also use a persistent database (could be a Google Sheet) to "offboard" people and remember their important prefs.