In no particular order:
1. Fairy Type- This type counters three of the best offensive types in competitive- dark, fighting, and dragon. It has only two weaknesses, poison and steel. Both are terrible offensively and built more for physical defense. Fairy type is generally specially attacking, which is useful against its two weaknesses as well as having good special defensive bulk.
2. Flying Type- While not great defensively, this type packs a punch. Between brave bird and roost's recovery, flying type pokemon have the ability to deal a lot of damage very quickly and can regain some health lost from recoil. Bird Spam is one of the most powerful strategies in OU. It also has a handy immunity to ground type.
3. Steel Type- This type is terrible offensively, although it does have an amazing type advantage with the common fairy type. On top of having above average defense, it has many resistances. This makes these types amazing defensive walls. However, they do lack recovery out of lefties and rest talk. They often have some form of entry hazards such as stealth rock and spikes. Steel type pokemon also make great phazers because of their access to entry hazards, roar, and whirlwind. In conclusion, the steel type is great defensively and as utility.
4. Normal Type- Has an immunity to ghost type and has one weakness with fighting type. However, ghost is immune to it. Most normal types are physically based, and all of them have access to return, one of the most powerful moves in the game. Many of them are tanky. You can never go wrong with a normal type because they also have great coverage moves with ground, dark, fighting, and more. They are also amazing set up sweepers with curse and swords dance. This type also has easy access to priority quick attack, and to a lesser extent, extreme speed.
5. Grass type- Many people overlook this type because of its crippling five weaknesses. However, these pokemon have great defensive stats, so they can generally take 1-2 super effective hits at full health. They are often dual-typed with poison, negating weakness and gaining offensive coverage. They are also full of status moves. You always have to watch out for a stun spore, toxic, or sleep-inducing move. They also have great recovery with leech seed and synthesis. Oh, and don't forget that rage powder in doubles.
Honorable Mentions:
6. Fighting, Dark, and Dragon type- All three types have an innate ability to sweep whole teams granted there are no fairy or flying types there to wreck them. All are generally pretty frail, with the exception begin dragon type. Fighting and dark types have priority in sucker punch and mach punch. And coupled with the common swords dance, hone claws, and agility they can and will annihilate your whole team if you aren't careful. The dark type has a high speed tier, and the fighting type has a slightly above average speed tier (this hurts them a lot). The dragon type is a whole different beast. This type sits around a base 80-100 speed tier. However, they have a variety of boosting moves such as swords dance and dragon dance (which also raises their speed). The only thing holding them back is that they aren't super effective on any type, except themselves, fairy type is immune to their stab (which is why i run poison jab on my haxorus), and lacks priority. Otherwise, you have to watch out for their powerful attacks consisting of dragon claw, earthquake, and outrage.
In case you were wondering why i primarily listed defensive and physically offensive types is because that is what the meta is right now. It is dominated by physical attackers, and the only counters are naturally defensive types.
Edit: I haven't played competitive in like five weeks (terrible, i know), so if i got any facts wrong, just tell me. I need to get back into it. :)