For the most part, Starcraft doesn't have counters; it has balance. There's very little "unit X always counters unit Y, and is the only unit that effectively counters Y," which you find in Dragon Soul.
For example, Dragon Slayer was introduced for the sole purpose of countering Bone Dragon. If they'd chosen balancing instead of countering, they would have reduced Bone's energy drain instead.
Catapult Knight's legendary counters a very specific hero combination -- bard+witch. When it came out, it wasn't useful against anything else. Compare to Frosty's legendary which came out around the same time. It's also effective against bard+witch, but it has a more general use. In my opinion, Frosty's legendary is good, and Catapult's is bad.
The attitude of DS developers has always been to slap layers and layers of bandaids (counters) on problems instead of fixing problems. Medusa was too powerful, so completely negate her with Bone. Oh, now bone is too powerful, so completely negate it with DS. What? That made the KK line up the only viable team in FP defense? Ok, let's introduce another hero which negates KK.'
Those are all counters. What they could have done instead was reduce Medusa's petrify duration so that Bone wasn't needed, or reduced Bone's drain, or reduced DS's standard (which the dragon soul team admitted was a bug), or made KK's song fire later in the fight (fixing a bug) or made it have a shorter duration. When Bard was a problem, her speed bonus could have been reduced. When it was obvious that Dragon Lady and other old heroes were becoming worthless, they could have been improved. When battles started lasting 10 seconds or less, they could have raised health or reduced damage. They did none of these things.
In my opinion, introducing counters that only work against specific heroes has made the game steadily less interesting. They haven't given the game a more intricate strategy; they've erased strategy altogether by forcing everyone to have the exact same team.