Please add option for rsync that will skip all executability checks and will not set files executable, no matter whether existing or newly created. There are cases where source files are executable, but the destination files don't need/have to be and using the umask is just enough.
See --chmod=a-x.
The point was to avoid calling chmod() at all, and add no--executability as there is executability without its opposite. But I see strace showing that chmod() is always called so we won't spare system calls here