Firstly, a minor point is that your proposal is a soft-fork, not a hard-fork.
But more importantly, adding limitations on OP_RETURN transactions is not helpful. Users who want to embed arbitrary data in their transactions can always do so by encoding their data inside the values of legacy multi-signature scriptpubkeys (pubkeys can be generated without knowing the private key in order to encode non-key related data). Not only can users do this, users have done this in the past. However, this behaviour is problematic because such multi-signature "data" scriptpubkeys are indistinguishable from "real" multisignature scriptpubkeys, and thus must be kept in the UTXO set. This differs from outputs using OP_RETURN which are provably unspendable, and therefore can be safely omitted from the UTXO set.
Thus, given that it is otherwise impossible to stop people from putting arbitrary data values into their transactions, then we rather encourage people who are going to encode their arbitrary data in transaction to use the OP_RETURN outputs in order to avoid UTXO bloat.
Also, as it stands, fees already nudge various participants to consolidate their data in the way that you suggest they do.