I believe it's possible to accept zero confirm transactions with a certain setup. This assumes mining pools are not evil, so this would be up to your personal risk tolerance in you trusting them.
Use a setup such as:
-Accept only standard type transactions
-With fee of at least .0001 or .0001 per 1000 bytes whichever is greater
I recall a gambling site using this setup with no issues to accept instant deposits, but still need a couple of confirmations to withdraw. This setup will prevent a user from sending a transaction to a certain mining pool that doesn't propagate to other pools.
A more advanced method would be to check for the propagation percent like shown on blockchain wallet, but think you need to keep a list of every node and query them. MyCelium and bitpay use zero confirm transactions https://www.cryptocoinsnews.com/the-mathematically-secure-way-to-accept-zero-confirmation-transactions/
Maybe you are right. However - as long as "replace by fees" https://github.com/petertodd/replace-by-fee-tools is a concept that is actively discussed it is still a gamble to accept 0 conf transaction. Lets take the example from yesterday. Someone places a 123BTC bet one minute before a game starts. Now it can take up to 70 minutes for a block to be found. After 70 minutes the game can already be decided. So if there are only 10% of the pools using a "replace by fees" we have a significant risk.