"certainly better than trying to come up with a one-size-fits-all duration."
VERY DANGEROUS!
The time-limit is a safety measure, to make sure scripts don't continue on for ever and ever, eventually crashing your server. If you continually reset the limit in a loop, the entire function of the timelimit is gone and you might aswell set the limit to zero (infinite).
If a script takes longer, set a longer timout at the beginning, but never change it once the script starts doing it's thing.
A forum, a FAQ, email notification, what else do you need?