People keep mentioning luck, and while that's a factor, it's not something that you can affect. Show me years of missed Air Slashes and critical hits against your Curselax, and it still won't affect your future playing. So while, yeah, luck is a factor, it doesn't separate the good from from the great players, as everyone has the same luck. Luck might influence you in battle, but losing to someone whose every move was a critical hit doesn't make someone a bad player. So even your win/loss record doesn't undoubtedly display how good you are, though it can often be a decent reflection.
I also don't think that experience is what makes you good or great, or bad or whatever, but I'm less sure on this one. I do agree that it contributes to your prediction or preparation skills, but it isn't a factor on it's own. Just because you've played millions of battles doesn't make you a good battler. It will likely contribute to your prediction and preparation skills, but it's just that, a contribution to both of those. A person may also be very good at Pokemon from the get-go. It's unlikely that they'll know everything right off the bat, but I think it's possible. In the same way, intelligence just contributes to prediction & preparation, it doesn't stand alone from my point of view.
If you have the perfect team, yet can't predict, you will still be beaten.
And at the same time, if you can predict perfectly, yet have no skill building teams (let's take it to the extreme; you build a team of Magikarps), you won't win, either. If everyone has some prediction skill from 0-10 (let's be geeks and gauge it), and some preparation skill from 0-10, and has 0 in either one of those, they will never win as long as the gauges stay the same. Through experience, they may vary their gauges, however.
Thats why people who copy Obi's teams on Shoddy still suck.
If, say, Aldaron (because I forget who's at the top of the ladder right now, I'll just use a name I've seen before) copied Obi's team, he would likely win with it, assuming you agree that Obi's teams are good, and Aldaron is good. If Aldaron had a team of Magikarp, he's unlikely to win, and if "Ketchum2990" (who is inexperienced and terrible) uses Obi's team, he's also unlikely to win. People who copy Obi's teams, or any other teams aren't bad because they copy it (though they are generally bad).
So both factors that remain, preparation and prediction, are needed in good quantity to be "good", or "great". I think that team building is "worth more" in a prediction : preparation ratio, but with every generation, and with everything getting new options, adding new Pokemon, etc., prediction becomes more and more important. I won't bother to give my own exact ratio, because it can't be accurately pinpointed.