Но не пихать же изменение процентажа по всему коду программы
Смотря что за код. Если сделать рефакторинг кода таким образом, чтобы его этапы выполнялись в цикле, то проблем быть не должно. Например создать список "задач" и поместить их в контейнер или массив.