Quais são as melhores práticas para a versão de esquemas XML?

Muitas vezes tenho que projetar esquemas XML para diferentes rotinas de importação de bases XML. É claro que os esquemas XML evoluirão com o tempo ou poderão conter bugs a serem corrigidos, portanto, é importante capturar a versão do esquema e ter algum mecanismo para vincular-se a uma versão específica.

Atualmente tenho dois cenários:

O bug é encontrado dentro do esquema e todas as instâncias do esquema devem estar em conformidade com a versão corrigida.

O esquema foi atualizado e deve ser considerado como preferível, mas um antigo deve ser também suportado.

Finalmente eu inventei armazenar informações de versão dentro do namespace do esquema:

targetNamespace="http://schemas.company.com/Geodesy/2010/River.xsd"

Ao consertar um bug, corrijo-o no mesmo namespace, mas se estou prestes a atualizar um esquema, preciso criar um novo namespace, mas com o upgrade incluído no mês:

targetNamespace="http://schemas.company.com/Geodesy/2010/01/River.xsd"

E se eu tiver mais de um upgrade em um mês, acrescente apenas um dia também:

targetNamespace="http://schemas.company.com/Geodesy/2010/01/17/River.xsd"

Você conhece alguma abordagem melhor?