I disagree that the subscription would be a multi select. Marketo doesn't handle that well and it's much better to separate out potential subs because you might remove them later, but also because more countries require date stamping (Canada, Germany) by field to demonstrate a lead opted in.
I've written a lot about this on my blog and slideshares, so check those out.
The key part is to make sure your process is legal for the countries you operate in/sell to. That generally means always using Opt In, having an unsub method, not using pre-check, and date/IP stamp the change in a log. Marketo will generally keep the log entry, but you might as well put it all in fields.
http://www.slideshare.net/jdavidhill/marketo-email-reputation-management
As for keeping people in line, you just have to train them what the fields are, how they are used, and which standing smart lists/static lists to use.
I usually prefer to say "use subscription field X=T" and that will work. Marketo will block bad leads/unsubs.