Простое решение
Я бы дал этим сервисам более длительный срок службы (единичный экземпляр).
Проблема в том, что TCP-соединения обычно отключаются, если какое-то время ничего не происходило.Это означает, что вам нужно иметь какие-то пакеты поддержки активности, чтобы держать их открытыми.
Более надежное решение
imho, настройка соединения не является проблемойОбращение в службу не должно занять много времени.Вы не указали, что такое внешние сервисы.Я предполагаю, что это какие-то веб-сервисы, размещенные в IIS.Если это так, убедитесь, что пулы приложений не перерабатываются слишком часто.Запуск нового приложения в IIS может занять некоторое время.
Другая мысль: действительно ли вам нужно ждать завершения службы?Почему бы не поставить в очередь действие (для обработки пулом потоков или в отдельном потоке) и позволить пользователю продолжить?Если требуется, просто используйте окно сообщения, когда служба была вызвана и что-то не удалось.