If the Knots community is serious about discouraging large op_retums ('lops'), their nodes should implement what I call a "treacle-fork". It's not a hard-fork, but it puts maximum pressure on miners who include these 'lops' to encourage them to stop mining lops.
When a Knots node sees a mined block that includes any lops, the node should NOT (immediately) forward the block to other nodes. It should pretend that it didn't see the block.
I know you might think this will cause a hard fork and split the chain. However, to avoid a hard fork, I would allow that whenever a 'lop-free' block is found, Knots will accept and forward that block *and it will also (retrospectively) accept+propagate all the ancestor blocks*, even if those ancestor blocks contain lops.
With this system, Knots still follows the existing consensus rules, but miners will see a propagation delay if they mine lops. Miners who include only small op_returns will see their blocks propagate more quickly and therefore will be rewarding by winning the race more often.
Miners who include lops will see their confirmations stuck temporarily, as if they are stuck in treacle.
As a contingency to avoid falling too far behind, if there are three consecutive blocks containing lops, perhaps Knots could just give up
I should close by saying that I'm not personally strongly against large op_returns, I just find it interesting to think about the best way for nodes to apply pressure against transactions they don't like. It's a fun mental exercise!

