FTP é horrível - nasceu em meados da década de 1980 e, francamente, deveria ter morrido lá.
Eu provavelmente começaria com scp (Secure Copy), que deve ser parte do pacote openssh ou openssh-client em sua distribuição Linux favorita (incluindo Cygwin), ou disponível como parte do pacote PuTTY se você estiver executando Windows sem o Cygwin. Você precisará configurar um servidor ssh no host de destino, mas isso é bastante simples, supondo que você tenha acesso root / administrador (se você não fizer isso, as coisas ficarão mais difíceis); uma vez que você tenha o servidor ssh em execução e possa acessá-lo a partir do host de origem, é apenas uma questão de
user@source $ scp /path/to/file user@destination:/path/to/receiving/directory
Isso deve satisfazer seu ponto 1 muito bem, já que scp tem uma sobrecarga razoavelmente baixa; certamente deve satisfazer o ponto 2, pois detectará definitivamente uma conexão com falha e poderá ser (provavelmente) configurado ou (certamente) roteirizado para tentar novamente quantas vezes forem necessárias; ele cobre o ponto 3 facilmente, pois nenhum host ou serviço intermediário é necessário; e também abrange o ponto 4, já que você pode instalar um servidor ssh em ambos os hosts e depois transferir o arquivo para qualquer direção que preferir. Você também obtém criptografia gratuitamente, o que pode ou não ser útil para você.
O manual do OpenSSH é provavelmente um bom lugar para começar, e terei prazer em oferecer mais assistência se você Eu acabei indo nessa rota - eu tenho alguma experiência em usar scp / ssh para esses tipos de transferências (embora não do Canadá para a África ou vice-versa, e não para um único arquivo com 70GB, eu admito!)
Espero que isso ajude!