At this moment, there isn't an easy streamlined way to accomplish this idea. I think in the Big Plans for Marketo at some point a tighter subscription center is an idea. But right now it's still manual.
To do this, you'd want to create some fields for managing the Subscription Preferences. Whatever your options are you put them on a form, I'd recommend a multi-select field, you could also use multiple fields but that gets messy. Then on the Smart List of every Smart Campaign with an Email or Email Program, you'll need to put a filter to modify the audience to remove those who have not selected to receive that type of email. So for every single smart campaign, you need to have something that says Subscription Preferences (contains or not contains depending on the way you setup your form) the particular type of email you're currently sending. So in a sense, while you can use a "Tag" from the Admin section to organize/label emails for reporting, it won't help you manage subscriptions.
The problem with this idea is that if you ever forget to add that filter to a smart campaign you blast all those unsubscribed from a particular type of content. There is no fallback to prevent them from getting an email.
Another idea for how to tackle this is to move into an entirely Engagement Nurturing program model. Where you create one nurturing program per type of email. So you put all of your Marketing emails in one, Newsletters in another, Cross-Promotions in a last. Then you more easily manage subscriptions by just adding or removing people from a particular engagement program.
Hope that helps.
We are also struggling with how to manage subscriptions/unsubscribes. I would like to see this on the on the development road map sooner rather than later, because as you point out there is a real risk of not honoring the preferences people select because there is no fall back. I think Marketo needs to allow for true unsubscribes to happen by category, rather than the all-or-nothing unsubscribe approach available now. This will make it easier to both ensure people get only the category of communications they want, and to see in reports the true unsubscribe rate (since deselecting a subscription preference now does not show up as and unsubscribe).
Is there somewhere else where this topic is being discussed with regard to Marketo's road map, or is there a better way for me to log this as an enhancement request?