I was reading some google group talks about "Print Progress." I have a suggestion using the following:
(filament length x the number of layers)/printer speed = 100%. Not sure if i am expressing what im thinking correctly but i figure filament can be "measured" by total extruder steps and multiplied by the number of layers. Then divided by speed to get a base number to be converted to 100%. All updates to the printer progress would be based on the remainder of the current (filament steps x layers)/speed subtracted from the original base. Im not sure if that helps or not. I thought i would toss in my 2 cents.