It's true, we're limited to just setdammage.
The original system I put in my mission (Which I'm writing this script for) does a setfuel 0 + setdamage dammage tank when the weapon's tracks are disabled and removeweapons of cannon type + setdammage damage tank when the gun gets knocked out. This prevents the crew jumping out when only the tracks are disabled, and makes a wounded tank more deadly. However, I quickly noticed that the damage was still too predictable: exactly four RPG's to kill an abrams, one RPG + waiting 5 seconds to kill a stryker, etc. And of course, the first RPG would almost always track an M1A1 (sometimes the second), making the big heavy tank effectively pretty weak.
Hence, why I'm writing an armor script which would shrug off RPG's if an abrams gets hit from the front, but also giving them a chance to cause minor damage if they penetrate from the top or rear. Meanwhile, BMP's and M113's should have slightly less explosion-inducing effects when hit in the tracks by a single RPG, possibly disabling the vehicle without simply cooking it off every time.
Combined with the armor script (which uses the LOS part above) which would do no damage if a shell/missile doesnt penetrate armor, as well as some other effects if a penetration happens like killing/injuring crew, setting tank on fire, or blowing ammo/fuel (for a critical hit), and figuring out based on coordinate defined hitboxes if the turret or hull is hit and thus which internal sections to cause 'damage' to... it should be somewhat realistic in terms of effects to the tank.
It's still setdammage with a few extra commands, but it should end up better than the silly hitpoints-damage calculations which as nonwonderdog pointed out on the official forums, getting hit anywhere on the tank pretty much damages every selection anyway.