Você precisa incluir todos os diretórios pai no diretório desejado antes de usar a regra de exclusão.
Por exemplo, eu uso o seguinte em um script de backup:
rsync -av \
--filter='+ /var/' \
--filter='+ /var/backups/' \
--filter='- /var/*' \
/ \
$DEST
Então, no seu caso, você precisaria de algo como o seguinte:
rsync -av \
--filter='+ /home/' \
--filter='+ /home/user1/' \
--filter='+ /home/user2/' \
--filter='+ /home/user2/subdir/' \
--filter='- /home/user2/*' \
--filter='- /home/*' \
/ \
$DEST