Все сводится к модели согласованности, которую вы хотите охватить. Если вам нужна строгая согласованность в вашей системе (каждый узел в вашей системе видит одно и то же значение счетчика в любой момент времени, и это значение всегда «допустимо») - вы не сможете избежать этого, используя алгоритм распределенного консенсуса (распределенная блокировка являетсяслучай такого alg).
Но вы можете преодолеть это, изменив свои ожидания. Например, вы можете согласиться с тем, что значение счетчика будет в конечном итоге «действительным» (модель «возможной согласованности»), и использовать CRDT для счетчика и разрешать конфликты транзакций «позже».