Sem uma facilidade no software em si que permite fazer isso, você praticamente delineou as três opções disponíveis para que isso aconteça sem trabalhar muito.
Olhando para essas opções mais de perto:
A opção 3 é uma droga. Não faça isso. Muito complexo e muito potencial para estragar.
A opção 1 é uma droga menor - você só precisa se lembrar de corrigir toda vez que fizer uma atualização, o que é irritante.
Opção 2 é o caminho de menos sugar. É o que eu faria.
Sim, não é imediatamente óbvio o que está acontecendo, mas se você documenta o que você fez (e a documentação é em um local imediatamente óbvio) não é uma má solução.