Maybe I missed something, but why does this change require a hard fork?
You don't seem to provide any data as part of your rationale, so I'll provide some context. As it stands, the chain size sits around 386 GB, with OP_RETURN data accounting for 2.5 GB of that.
I'm also concerned about the coordination required to get into The One OP_RETURN Per Block, as this certainly requires some measure of centralization of that Merkle Tree construction.
Some of those OP_RETURN outputs have non-zero value. As such, those outputs are provably unspendable, and they are essentially paying the rest of the coin holders via supply deflation.
Finally, Bitcoin nodes may safely discard OP_RETURN outputs at any time, since they are unspendable. Thus, nodes can clear a few GB of disk space whenever they need it, but that data is less than 1% of the total chain size at the time of writing.