Seus instintos estão corretos. A opção 1 parece introduzir muita complexidade para um ganho relativamente pequeno.
A opção 2 seria fácil de implementar com um gancho post-commit
que atualiza uma cópia de trabalho do repositório e, em seguida, usa o rsync para enviar o repositório para os destinos necessários. Atualizar uma cópia de trabalho local - em vez de usar svn export
- será muito mais eficiente se seu repositório for grande.