100+ гигабайт это выглядит как созданные на пустом месте проблемы (потому как даже с идеальным провайдером долго такие выкрутасы не по делаешь), небось еще в виде архива одним файлом? А там небось внутри 99% файлов уже переданных ранее.
Правильное решение - не упаковывать файлы в архив а держать максимально распакованными, часто в виде источника (т.е. то откуда у вас данные появляются), а там - rsync (установить на стороне-источнике rsync сервер) сам сравнит файлы (по хешам) сам скопирует нужные, удалит старые и это максимально эффективно.
p.s. в случае, если у вас большие файлы меняются хоть и не значительно но с точки зрения rsync это будет новый файл, то можно хранить две копии файлов на источнике - с последней передачи и текущую, затем воспользоваться diff (есть разные утилиты, исторически diff был только для текстов но теперь универсальный, и существуют специализированные версии binary diff) для формирования патча, который позволит из старой версии и небольшого файла-патча восстановить новый, тогда можно будет передавать этот патч.
--------------
подскажите, что у вас за файлы? что в них? постоянные 100гб выглядят как что то необычное? у вас мини коллайдер стоит?