Here are my thoughts about possible further improvements that might be nice. As usual, these are just my opinion.
1. I'd like a "drawlast" tag. This causes the weapon or particle object to be drawn after all other things have been drawn. This might be nice for things that are actually passing through friendly objects' geometry, but we want at least a crappy illusion that they're not. OTA did it this way, with bitmaps. Doing so in Spring would be ... kind've painful. You'd have to have queued drawing cycles, and I don't think that Spring currently has more than one queue for all of the S3Os/3DOs in the viewport.
2. The other way around this, also somewhat painful, would be a tag in a unit's file that stated "IsFriendlyObstacle". This would, in essence, override the new tag "CollideFriendly" and "AvoidFriendly", if the weapon's target-check goes through the object with such a state.
This would also be painful, because it would require a virtual-ray check before even deciding that the unit could shoot. However, it would allow for accurate checking for large objects, where it will be perfectly obvious that things are going right through the geometry, ruining the illusion for the end-user.
I wish I had a clever way around these issues, but I'm all out of smart ideas this week
