Stop using similar terms for slightly different things. You make "attacks" with a weapon, but when shooting this has nothing to do with the model's "attacks" characteristic. These attacks then have to "wound" the target, which causes damage, which in turn subtracts from the target's "wounds" characteristic, etc.
Simplify terrain traits and cover. "The benefit of cover" is such an awkward phrase - just say "in cover" if in cover, "obscured" if LoS is blocked, etc.
Set a minimum weapon range requirement (24"?) for firing at AIRCRAFT. No more shooting flamethrowers at planes.
There is no reason why weapon types exist. They are essentially universal special rules in an edition that doesn't use universal special rules. Ditch them, replace with actual USRs.
Ditch random damage values. Instead, introduce a new concept: Critical Damage. This would be represented on some (but not all!) weapon profiles as two Damage values - e.g. a lasgun might be 1/1, while a lascannon might be 3/6. Normally a successful wounding hit would cause the first number in damage, but if you roll a 6 to wound then it causes the second number instead. e.g. if you roll a 6 to wound with a lascannon, it inflicts 6 damage.
Ditch FNP-type rolls and Transhuman-type wound roll limiters. Instead, just increase the unit's toughness or wounds characteristic - that's what it's there for!
Stratagems are getting out of hand. I like them as a concept, but there are way too many and the gulf between 8th edition and 9th edition books is ridiculous.
Rules that trigger additional attacks should instead trigger additional hits. Reduce rerolls.