Você parece ter uma boa compreensão dos problemas.
A abordagem de instantâneo padrão que vi é desligar os serviços que seriam gravados no sistema de arquivos, quebrar o instantâneo e reiniciar os serviços. Backup do lado que não está sendo escrito.
Outra abordagem é poder exportar um conjunto de dados point in time do aplicativo. Em seguida, faça backup dos dados exportados. Essa é uma abordagem que os bancos de dados podem usar. Os dados podem ser transformados durante a exportação, portanto, pode haver etapas adicionais para importar os dados.
Uma abordagem alternativa que usei com bancos de dados é marcar arquivos como sendo copiados enquanto são copiados. Isso pode adiar as atualizações enquanto o backup estiver em execução ou permitir a reprodução das alterações posteriormente. Isso requer logs de alterações que também precisam de backup.
Eu geralmente excluo os arquivos de banco de dados dos meus backups padrão e uso uma das abordagens alternativas para obter dados pontuais do banco de dados.
Planeje cuidadosamente antes de recuperar um banco de dados. Eu raramente precisei recuperar um banco de dados completo para um ponto no tempo. Backups frios (desligamento de banco de dados) podem ser apropriados para um banco de dados usado no treinamento. Eu me arrependi de fornecer reversão semelhante para testar bancos de dados.