FYI here's how I did it:
https://github.com/kevinweil/elephant-bird/blob/master/lucene/src/main/java/com/twitter/elephantbird/mapreduce/input/LuceneIndexRecordReader.java#L195

If you have N splits, you can assign each split 1/N percent of the progress, and then use that split's record reader to tell you how far you are through that 1/N percent of the total. So you're giving all splits equal weight, but your progress will continue to go up as RR make progress and as splits finish.