A lot of people do not know that you can cancel transactions with -zapwallet for instance, so that the transaction is canceled and the bitcoins are back in your wallet. People might provide goods or whatever before the transaction gets one confirmation.
Don't you think that this is a huge risk? Especially for merchants who don't require confirmations? Or am I missing something here?
'
If I were to rebroadcast it forever, you cannot use that coin in your wallet, not till I stop rebroadcasting it. It isn't a easy job to double spend if you take the proper precautions. Heck, I even accepted 0 confirmation transactions for 0.3BTC before.
Check for miners if they accepted your transaction into their mempool, take proper precautions, keep on rebroadcasting it. If they don't have the participation of miners, it is very hard to replace that transaction.
Just require a confirmation for larger transactions.