100% on keeping it in the hands of users. But I also like the idea of making it easy to fall into the "pit of success" as far as moderating your own environment to be something we want.
It seems to me we already have most of this native-built with parameterized replaceable lists, so there's no need to go outside of Nostr for it at all. All we'd need is a few more contexts such as "always-hide", "always-show", "always-obscure", as well as a list-o-lists type that basically allows me to publish a set of lists that define my experience.
Then all that would need to happen is for clients to support it, and most users to be at least a little polite about tagging their content.
And, as a bonus, if it's super easy to swap them out, we could better understand the experience of others by basically seeing Nostr through their eyes by temporarily taking on their lists. So if someone is complaining about all the X content, we won't be tempted to say, "I don't see any X, you must be making it up, and instead I can look.