yeah i think this'll do:
find /path/to/local_dir/ -type f | shuf | while read file; do
rsync -az --partial --ignore-existing --size-only --bwlimit=500 "user@remote:$file" "/path/to/local_dir/"
sleep $((RANDOM % 300)) # Random delay between 0-5 minutes
done