S>Как нужно бороться с подобными ошибками?
IMHO, запутанное экранирование строк это общая проблема всех языков, предназначенных для shell scripting (powershell, posix shell).
Решение — по возможности не использовать shell scripting, оставив его сис.админам
По-моему под MS Windows ещё можно писать скрипты на VB script.