Don't look at the batsman individually, look at it from the team perspective. In 1999, they were mixing and matching there line-up around, hadn't found consistent openers and it was effecting the middle order. But come, 2003 the batting order was settled, and although Chopra did not set the World on fire, he did set up useful contributions with Shewag to relieve pressure off the middle order.
Maybe, the fact that Warne & McGrath didn't play had a bearing on the result, but before McGrath was injured he struggled to take wickets against Bangladesh, and by your reckoning, that would make him one of the worst bowlers in the world. And Warne does not have a great record against India.
For mine, Dravid was twice the batsman we saw in 1999, and we will never know how he would have gone against Warne, but we can say the last time he faced Warne in a series, he was only dismissed by Warne twice and his last three scores against a Warne attack in tests are 4 (dismissed by Miller) 81, 188.