Mmmmm, it's a tough question. The contrived nature of ODIs means you have different types of batsman who play very different roles.
As mentioned you have Bevan, Dhoni and Hussey who are/were experts at picking their moments to counter-attack, guiding the tail, and hanging on for the not out. The averages of these players are always very high but propped up by not outs and subsequently they score few centuries. .
Then you have those at the top of the order, Tendulka, Ganguly etc, less not outs thus lower averages, but with far more opportunity to score big if they get in, but having to fend off the new ball first.
Tendulkar as the best ever ODI batsman for the simple fact that he balanced power, attacking verve and accumilation better than anyone else and for far longer than anyone else. That's why his average of 45 is not far behind the finishers but with 46 centuries (light years ahead) and a very good strike rate around 86 on top of that.
Maybe Viv could have been as good if he had played more, but he didn't so he isn't.
Mere speculation about what Viv might have done does not = 46 centuries and averaging 45 after 20 years in my book.
Tendulka number 1.