KeeperDAO [1] is one project that's aiming to tackle this. Their whitepaper is here [2].
[2] https://github.com/keeperdao/whitepaper/blob/main/whitepaper...
[2] https://github.com/keeperdao/whitepaper/blob/main/whitepaper...
This does not prevent a large miner from watching the mempool and picking the right transaction order that they want.
It also will only protect the very small number of people who are using keeperdao. It is a very nice try, but I don't think it'll go very far.