The thing that i have noticed as the largest impact on battling is the structure of teams. If my team has a strict strategy of say : tailwind, it would be really obvious to my opponent that all he/she has to do is throw a counter to my setup pokemon and then i lose. the teams that i see working the best are those that don't need to setup their strategy. which essentially means goodstuffs. (which also get an advantage with the extra two pokes to disrupt strategy)