Based on points made below, it seems S2 would be able to handle both primary voltage spike voltages and primary current so simply using an S2 contact and a diode across the coil primary would seem to achieve the desired results. See discussion below.
Can you instead leave the IGBT off after an intended spark and then turn it on for long enough and then charge when a spark is required. As it must be able to charge when running at a 200 Hz rate, the maximum delay introduced by this method will be <= 5 ms.
If using the method shown I would probably bias and connect the transistor slightly differently to the circuit shown, but the method is tolerable provided the transistor is able to withstand the repeated reverse polarity primary spikes. How large these are will depend on your system design, and especially on Vspark and turns ratio. In a spark coil design like this the turns ratio is usually << Vspark/Vdc_in so Vprimary_spike is > to >> Vdc_in x turns_ration.
eg if turns ratio = 10 and Vspark is 5kV the Vprimary_spike ~= Vspark/TR = 5000/10 = 500V. Transistors capable of repetitively withstanding this voltage repetitively are available, but a gentler method is probably desirable. (A BJT with a voltage rating at least equal to that of the IGBT at S1 is required. Depending on the size and cost of S1, whatever is used there would work for the clamping transistor.
The bottom contact of S2 is exposed to the primary spike voltage, and the top contact of S2 carries the primary coil current. So, using S2 to instead switch in the transistor and diode only when required would mean the transistor was never exposed to primary spikes.
Alternatively, given the above abilities of S2, simply using an S2 contact and a diode across the coil primary would seem to achieve the desired results.