Shields don't need a counter, imho.
In reality shields already have a counter in:
Polearms: Advantage of reach, damage, and often times equal speed combined with stun and bonus vs shields
2hers: Advantage of reach, damage, and in almost every case speed.
Cavalry: Advantage of reach, extreme damage (couched lances eat shields up), horse bump+stab/slash
Now if we really wanted to rebalance shields one possible solution that seems the most fair would be to remove crush through, add bonus vs shields to those weapons and add directional blocking for shields as thus:
An incorrect directional block still blocks the attack and deals damage to the shield (albeit an increased amount than currently, say 120-150% of current damages)
A correct directional block yeilds no damage taken to the shield or a very small amount (say 10%).
This rewards good players with good blocking skills by giving them highly durable shields for ranged protection (it also makes the smaller, faster shields more attractive since they can be durable when skillfully used)
This punishes bad blockers by destroying their shields VERY quickly.