And if someone really wants to make it a consensus rule, then it can be simply done by getting all transaction fees, and then making a soft-fork that will lock some part of the coinbase transaction into some future block number (for example, the current block number plus 210000). That's all what is needed to make a tail supply.
That doesn't really solve the problem, though. Let's say you want the tail emission to be a fixed amount, for example 0.01 BTC per block. After the 13th halving, the block subsidy drops to 0.00610351 BTC, meaning you can no longer commit that amount to future blocks. If you say instead that you want the tail emission to be a variable amount, and to commit 10% of all transaction fees from each block to block n+6,000,000 (for example), then there will still be plenty of blocks which are empty or near empty and therefore can only lock up trivial amounts or none at all for future blocks.
Even if you decide to commit 10% of the total block reward (subsidy + fees) to future blocks, really you are just delaying the inevitable. If fees alone are not sufficient to sustain the network, then simply taking a cut of those insufficient fees and allocating them to the future will not be sufficient either.