A menos que você esteja introduzindo uma estrutura existente no código e 90% do código original seja assumido pela estrutura, fazer uma grande reescrita quase certamente custará mais tempo do que incrementar a refatoração do código.
Se o código original é essencialmente bom (bem documentado e estruturado), mas não de acordo com as melhores práticas de hoje, então você não vai ganhar muito reestruturando-o e você também pode manter a estrutura original também para o novo recursos (a consistência em uma base de código é muito mais importante para a manutenção do que seguir as práticas recomendadas mais recentes).
Se o código original não é tão bom assim, mas você não tem tempo / recursos para consertar tudo de uma só vez, então você pode lidar com cada mês uma pequena porção que o irrita mais ou que o atrapalha implementando alguns novos recursos.