When the route is not flown because of D-check, aircraft conversion, strike, the system should allocate the demand away until the route is flown again.
In other words, the allocation should not be based on gross capacity, but on the net capacity.
As far as I know, the Available Seat Kilometers, Available Freight Ton Kilometers work on the net bases (Gross availability minus aircraft in C/D checks, minus aircraft not delivered yet, and other aircraft grounding events. Strike is a big one, IMO, that should re-allocate the demand and also drop the airport traffic level (I think this already works). if it persists for a long time.