SmokeDragon that is doable. There are better ways to do this, but the basic idea i have in mind is a script that will overwrite the existing attack order if the raven has been chasing an enemy for longer than 3 seconds.
-let there be a local value called TimeToGiveUp set to equal 0 by default
-Execute following script once per second
-IF (the current raven in the for-loop has an attack order) AND (the speed of the current raven in the for-loop is less than half that of normal speed) THEN (mathematically add 1 to the current value of TimeToGiveUp that is assigned as a value to the current raven in the for-loop) END
-Execute the following script once per second
-IF (TimeToGiveUp for the current raven in the for-loop is greater than or equal to 3) THEN (give the raven the retreat/rearm order to overwrite the existing attack order and reset the value of TimeToGiveUp assigned to the raven)
This is poorly pseudocoded for the sake of non-programmer understanding.
personally i would make ravens simply purge targets that it cannot hope to bomb from it's attack order queue, allowing you to simply provide an area target command and allow the widget/gadget/unitAI to sort things out automatically.
The raven nerf has supremely buffed the crasher, as the crasher was already capable of outrunning ravens pre-nerf.