Há um número de opções de exclusão que você pode usar com o rsync para excluir arquivos no destino, se eles não existirem na origem:
--del an alias for --delete-during
--delete delete extraneous files from dest dirs
--delete-before receiver deletes before xfer, not during
--delete-during receiver deletes during the transfer
--delete-delay find deletions during, delete after
--delete-after receiver deletes after transfer, not during
Além disso, você pode usar --ignore-existing
para ignorar a cópia dos arquivos que existem no destino:
--ignore-existing skip updating files that exist on receiver
E para excluir os diretórios vazios, você deve usar:
-m, --prune-empty-dirs prune empty directory chains from file-list
Então, o comando
rsync -av --prune-empty-dirs --delete-delay --ignore-existing src/ dst
fará o que você está procurando, suponho