Arrgh collision detection how I hate thee.
If it worked properly then combining your subsystem fired flag with a script that manually slid the barrel object back and forth along the turret arm axis would be a sorta reasonable, if quite difficult system to use for modders. By that I mean setup model wise would be easy because you'd only need a barrel subobject. Setup table wise though you'd need to delve somewhat heavily into scripting, which most modders are simply not willing to do, and of course, you would have fly-through barrels if not the whole ship.
Hmm, so that brings us to a system as you suggest where you use scripting to trigger an existing animation, again via the subsystem fired flag. How would this script work in terms of specific ships? Like, if you had just converted and tabled a new ship that was recoil-ready, would you have to edit the one script to allow your ships guns to work? By the sounds of it you almost certainly would, which would make turret recoil possible and with working collision detection, but still really really impractical for standard use due to the complexity of the setup.
Even the tests I did which linked directly into the animation system (meaning no scripting was necessary) are still horrible to set up in terms of turret hierarchy (ie, the folders) and then the animation sequence itself in the table which is like several paragraphs of instructions per turret.
So ideally, the finished 'turret-fired' animation trigger combined with propper animated subobject translation is what we want. :\