In general, the user expects that "% completion" relates to time. On my large disk, I find that your current metric is at 90% or more for at least 90% of the time. I don't care how many files are left to process, I only want to know if I can go get a cup of coffee and return before the operation is complete. I have no idea how, or even if, this is feasible to compute. Note that this is related to feature request 1807692.
Ultimately the user wants to know when it will be done, plus something to stare at which shows that something is happening. An ETA plus a counter (or %) of files (or maybe clusters) processed would perhaps be best.