They're underappreciated and have saved my ass plenty of times, so we're planning on overhauling them. WMC has already taken the first step and gave primary and secondary weapons a "countermeasure" flag that will make a missile act as a countermeasure. This is great for warships since they can now throw off non-targetable missiles (trebuchet, im looking at you). Also useful if you feel like spamming countermeasures out of piranha missiles (take that stupid hornet swarms). To enable this behavior add "countermeasure" to the "$Flags:" section.
Next up I have added parameters for said countermeasures:
If you specify a countermeasure either in the #Countermeasures section at the end of the weapons table or add it as a weapons flag you can give it additional parameters to tell it how it will effect other missiles. Table formatting and default values are shown below
$Countermeasure:
+Heat Effectiveness: 1
+Aspect Effectiveness: 1
+Effective Radius: 300
A higher heat or aspect effectiveness will make them lure hostile countermeasures easier, but missiles have a new "seeker strength" parameter to signify how resistant they are to countermeasures. To specify a missile's seeker strength, add "+Seeker Strength:" to the end of the "$Homing:" block. Heat missiles have a seeker strength of 3 while aspects have a seeker strength of 2.
When a hostile missile now enters a countermeasure's effective radius, the countermeasure has a <type effectiveness>/<seeker strength> chance of jamming said missile. For example, an aspect missile with seeker strength 5 gets close to a CM with effectiveness of (H8, A3). This means that the missile will go for the countermeasure 3/5 or 60% of the time. If a heat missile with seeker strength 4 gets close to a CM with the same effectivenesses, the countermeasure will spoof it 8/4 of the time. Since this number is greater than 1, the missile is always spoofed. If a CM has a type effectiveness of 0 for one of its types, it will never be able to spoof that type. When specifying the seeker strength, the strength must be greater than 0 or else FS2 will throw an error. The code for this is currently in CVS, so test away.