So what is the "fair" way to correct this particular error in your opinion? My way is to let the play stand the way it played out. The umpires didn't call it correctly initially, so it can't be fixed.
In the original post, the infield fly rule was in effect when the ball was hit. It was not called when it should have been...no dispute here and a mistake by the umpires on the game. The subsequent plays by the shortstop allowed the runners on base to advance. The ball was not caught, so there are no tag-ups necessary. Speculation on my part here, but I am about 95% sure that if the infield fly had been declared properly and timely by the umpires, the shortstop probably would have done nothing different. In my opinion and going by the description provided since I was not there, the resolution to this play would be: Batter declared out on the infield fly, runners advances stand, runner on third, two outs, play ball.