In recent weeks, I've noticed that "aws s3 sync" always deletes and replaces the remote files (even if they haven't changed). This, of course, makes the sync operations much longer than they should be (as everything has to be re-uploaded).
I've provided a more detailed description of the problem in this ticket on the "aws-cli" GitHub webpage. The offending code commit is located here and an apparent fix for it is stationed here. Can you guys please merge that patch into your codebase soon?