There is already no limit what shader we can write using the depth buffer. The limitation is only applied to the specific applications which does absolutely not rule out that the written shader can still be used in all the other apps.
We have to ask ourself though how well texture swapping could work in such a generic way.
True, all static color correction can ultimately be covered by one LUT but to get there we have various algorithms that differ in their results and need to be applied to create the necessary input which is needed for the LUT shader.
For everyone who does not own photoshop or similar those algorithms can be chosen and applied through ReShade.
Everything else is a matter of taste which is why we provide free variables for each individual shader and not only the hard coded version of our own "bad" taste