(3) Например, не завершать транзакцию, если не получено подтверждение от 1С. Если таймаут или ошибка в 1С то откатывать. Делать это последним этапом, чтобы минимизировать риск отлупа транзакции уже после получения подтверждения от 1С.
(5) Можно вести журналы распределенных транзакций где одна из сторон выступает координатором распределенных транзакций. С записью информации необходимой для отложенного отката.
Закон Брукера: Даже маленькая практика стоит большой теории.