you are assuming here that you have to "run back to your car", and so on.
If a transaction requires that it be included in a block to be valid (and it does), then you can double-spend by double-spending at the same time.
Just send the amount to another wallet you control while buying the groceries, using your phone which is on the network as well.
At least 50% of the time, you will win, even if you can't work out out to defeat it 100% of the time.
And 50% is a pretty good discount.
This was "DOUBLE SPEND ATTEMPT #2" that I described. The problem is that the network sees the double spend attempt (try this and see for yourself). Yes, the payment goes to your address 50% of the time, but you get your coffee 0% of the time because the merchant can detect the double spend attempt.
Besides: there are brick-and-mortar businesses all of the world accepting zero-confirm transactions for expensive bar tabs, etc already!