A compromise solution for opinion downvoting vs quality downvoting
Make downvotes not affect the visibility of the post, and only change its visible vote count. Upvotes and post count are already plenty of information to use to sort threads and posts. Also, unlike with the downvote button, everyone agrees on what the upvote button means.
For pornographic posts/advertisements/trolls, there's a Report Post button. For low quality posts, just don't upvote. Downvotes only serve their function if everybody is using them properly, and that has never happened.
Having posts that you disagree with on the front page is the price you pay for free speech.
Rework Suggestions