I use this:

rsync -rah --progress /path/on/source/ user@ip.of.local.server:/path/on/destination

I will try the ping next time I attempt this. There doesn’t seem to be a definite time when the issues start though. It tries to copy the file over, and when it is done it continues to the next. If the first one didn’t succeed, it will retry and if that also fails, it will say “ERROR verification failed - discarding update” (paraphrased) and continue to retry the next file if that also failed.

I do see some fluctuations in the transfer speeds during transfer, which could indicate the times the connection is struggling.