Проксируй, не используй rsync протокол напрямую.
Используй к примеру ssh (путь для файлов указывай user@server:/path/).
Или поэкспериментируй с разным vpn, например openvpn, попробуй к примеру udp подключение (на нестабильных каналах этот вариант может оказаться лучше, но не факт, все зависит от причин нестабильности).
Я помню один раз настраивал (правда не довел до логичного конца, только как концепт) с помощью linux bonding и двух подключений openvpn через разные сервера (пути до них шли через разных провайдеров) к одной и той же машине (на этой машине был настроено два openvpn сервера A и B, а на другой vps-ке было настроено перенаправление портов на openvpn B), подключаясь таким образом к A и B openvpn серверам на клиенте и на сервере получались связанные tapA и tapB вирутальные ethernet устройства, на них поднимается bonding (рекомендую режимы active backup и broadcast), так же на сервере openvpn уменьшаешь таймауты.
Идея в том что обычно bonding используют для повышения пропускной способности за счет объединения нескольких каналов, а тип broadcast для увеличения отзывчивости за счет дублирования трафика через разные каналы (еще есть разные режимы backup но там канал должен сменить состояние на упал чтобы произошло переключение, но наверное все это тюнится).