Reduce number of S3 Head Requests

That is correct and you'll get exactly one HEAD request per file, leading to the one HEAD before upload and one HEAD after to see if the file is OK.

Depending on how the files to be uploaded are laid out not using --no-traverse can be quicker - for example if all the files were in one directory.

I don't understand why this made so many HEAD requests though... Could you run it with -vv --dump headers and post the result somewhere?