As a pragmatist on this matter, I believe the solution here is scale. The control I have over a phpBB forum is that if I don't like their spam policy, I can leave, and either join another or form my own.
We're not talking about a phpBB forum or a little blog with a few thousand commenters. We're talking about single companies with very significant fractions of the total discourse flowing through them. If Facebook blocks something, it affects a massive number of people, and "just go make your own Facebook" is not a suitable recourse. Scale matters. Small entities can do things without being a threat to the body politic that large entities can not.
As I've said before, I'm not entirely convinced that something the size of Facebook can actually work in the long term [1]. Trying to jam everybody into one set of rules may simply be infeasible, for reasons not entirely related to "rights". If you look at the current conflicts over Facebook through this window, you may find it makes sense over the conflict. Especially if you are one of the majority here on HN who are kinda lost over the idea of why so many have become anti-Facebook, when you just see Facebook imposing your perfectly sensible, obviously correct values on the world, why is everyone complaining? Well, it's that whole diversity thing you may have heard rumors about. It's real. It may not be the case that you can get everyone into one community with one set of standards, regardless of how "obviously right" those standards are.
[1]: https://news.ycombinator.com/item?id=20146868 - in fact, I'd amplify the original post I made by also pointing out Facebook is international, so we're not just trying to stick the diverse cultures of the US in there, but trying to stick all the diverse cultures of the world in one big pile. When I put it that way, does the idea that such a thing could work in the long term even pass the smell test?