The problem is not the people attacking but the people backing down for fear of reprisal. If you feel strongly about something say it and support it. If you don't feel strongly don't post something just for advertising yourself. Politicians pivot constantly and the public understands this but they hold private and public representatives to a higher standard. This private and public representatives need to understand this and then stand strongly behind their convictions. They will get more respect for doing so then detractors but the detractors will be louder.
I guess it depends on the overall context and political atmosphere. But I agree that people should stand by what they say and support it. But it might also depend upon the nature of the "reprisal." If it's a logical, cogent, and fact-based argument against a certain position, that's one thing. But it when it turns into moral censure and emotional blackmail, invoking the ghosts of Hitler or Stalin or some other villainous character from history, then it gets more than a bit over the top.
When people use emotional tactics, they should be called on that. People who use emotionally-laden terms like "basket of deplorables," or if they resort to the tactics of ridicule/mocking, or if they engage in the tactics of "cancel culture," then they need to be called out as completely irrational and illogical, and therefore their arguments should be immediately discarded. Or as they say on Reddit, "reals not feels."
If people can't make an argument without resorting to emotionalism, then they never had any argument to begin with.