Вот что мы делаем: не используем web.config для настроек, которые меняются между средами.
Для этого у нас есть отдельные файлы конфигурации, и приложение во время выполнения решает, какой из них использовать в зависимости от файла настроек (или ключ реестра - ОЧЕНЬ удобно для отладки, так как вы просто щелкаете файл .reg и все готово).
Сценарии развертывания будут выбирать, какой параметр записывать в зависимости от имени среды (т. е. использовать имя среда для копирования файла с похожим именем).
Но web.config никогда не меняется между примерно 30 средами.