Não existe uma resposta perfeita para esta pergunta e tudo depende de detalhes.
Como primeira linha de defesa, eu tentaria evitar tais situações, simplesmente não vendendo artigos tão baixos quanto possível. Se isso for possível, pode depender da situação e do tipo de artigo que você deseja vender. Na empresa em que trabalho, os artigos são removidos principalmente do site antes que o estoque acabe. Mas estamos vendendo toda a venda e os poucos artigos restantes são vendidos pelo nosso pessoal de vendas como ofertas especiais. Isso pode não ser uma opção para pequenas lojas, especialmente ao vender artigos com preços altos.
A solução para fazer a verificação dupla ao adicionar algo à cesta não é muito boa. As pessoas colocam muito em cestas sem nunca fazer um pedido. Portanto, isso pode bloquear este artigo por um determinado período de tempo.
Portanto, na minha humilde opinião para pequenos trabalhos, a melhor maneira é fazer um cheque final antes do pagamento, quando o pedido é realmente realizado. Na pior das hipóteses, você deve informar ao cliente que está ficando sem estoque no momento (o que para pequenas lojas não acontece com tanta frequência).