I would just try the progressible action on various devices, and get the average time the action took. Then display that for everyone. Done faster? No one cares if it jumps from 80 % to next screen. Takes longer? Well it's almost ready anyway, so just show 100 % for a couple of seconds extra.