The whole reason the block chain exists is to prevent double spends.
If anyone finds a "safe" way to accept 0-conf transactions, without sacrificing any other major features of bitcoin (pseudonimity, decentralisation), this would render bitcoin obsolete - just through away all the blocks in favour of one big pool of unconfirmed transactions.
If you are willing to forgo some of the advantages of bitcoin in order to accept 0-conf, then it becomes easy, for example:
- no pseudonimity: ask a customer to show his ID. If he doublespends, report to police.
- no decentralization: use "green" (trusted) addresses. This is already implemented on some exchanges, and works.