If a node "blocks" (considers invalid) a single block, and that block is part of what the miners call the main chain, then that node simply stops working. While the miners continue happily to make the block chain. Suppose that I don't want to see a specific transaction, and I write node software that considers a given transaction invalid (a soft fork !). Well, that node will take the block chain until it finds the block with that transaction, and considers that block invalid. And will never ever hear about another block that follows it, and come to a halt. Period. In what way did my node stop that chain to be built ?
You think that if almost all non-mining nodes do that, miners will be obliged ? Why ? They connect amongst themselves and continue to make the blocks THEY have a consensus on. And users (say, exchanges) don't want their nodes to stop, so they connect directly to miner nodes to get the growing chain. Because the other nodes simply don't send anything any more. In what way do non-mining nodes interfere ?
Of course, miners may be sensitive to the fact that most non-mining nodes don't want this, and might "vote in the market" if they don't comply to users' wishes. They might be afraid that the market cap of their coin drops. So miners will most probably take into account this "market sentiment" signal. But that's it.