Bug 3653 discussed how "file has vanished" warnings can be silenced. Code changes did not make it in, but Matt McCutchen wrote the rsync-no-vanished bash wrapper script, whose final version seems to handle it correctly, using advanced bash features:
#!/bin/bash
ignoreexit=24
ignoreout='^(file has vanished: |rsync warning: some files vanished before they could be transferred)'
set -o pipefail
rsync "$@" 2>&1 | (egrep -v "$ignoreout" || true)
a=$?
if [ $a == $ignoreexit ]; then
exit 0
else
exit $a
fi
What is missing is to make that script accessible to users. I suggest to include it in the support directory in the rsync tarball.

IMHO, this's wrong by design solution. There should be an option in rsync itself, but not a hacky wrapper.
BTW. couldn't there be a situation, that rsync got two errors (one of which is "24") and exited with the exitcode "24", that will be suppressed by the script. So the other error will be unnoticed?