I think the first question should be, how really do we detect that a news is fake? Not just news; but generally speaking, that something someone or a user posted is fake?, because first, we have to be able to prove beyond all reasonable doubt that a news or article in regards to anything, published or posted by a user, is fake, before we decide on how to treat such.
And if actually we are able to confirm that whatever someone posted is a fake news, then for now, I we are users start by giving the user a negative karma, and then proceed to reporting the post/user to moderators for proper disciplinary action, after the moderators themselves can confirm of a true, that what that user posted is fake.
In conclusion, it is absolutely OK to allow free speech, most especially on public forums like this, but then, fake news, propagandas, promoting irrelevant stuffs, or damaging other people's reputation for no just course, shouldnt be entertained, for the overall, well being of the community.