Depends on division to some extent. Defense works better in lower-GP divisions because the amount of teams either side has is limited. The higher you get, the more likely it is that your opponent will have viable counters to everything you put on defense.
Generally the best defensive teams are either:
A: Difficult to counter. This usually means your S-tier teams like Revan or Padme. They're likely to get holds but also leave you with fewer "trump cards" on offense.
B: Easily underestimated. Personally I think this is the better route to aim for; keep your truly awesome teams for offense, and make your opponent stumble by putting down teams that look easy to undersize but are sneaky-good. This can be accomplished either with a novel combination of characters that isn't commonly used, or with unusually good mods on a team that people are used to seeing with junky stats.