So... make an optional rule.
No no no. I meant an OFFICIAL optional rule! ;)
Hmm... assuming you don't actually want the targeting roll to have actual penalties, how's this?
Case 1: You hit the target but there are intervening obstacles
If the targeting roll hits for a weapon hits, but there are mechs directly between you and your target, roll two dice for each mech in that line of fire between you and the target starting with the nearest one. If you roll a 2, you hit the mech you're rolling on instead of your target. For each subsequent mech add 1 to the target roll cumulatively until you either hit the intervening mech or you reach the intended target. Damage is inflicted as normal for the weapon used.
Example: There are three mechs between you and the target. Your targeting roll hits, but one of the mechs inbetween could have been hit instead. So you roll against 2 on the nearest mech, 3 on the next mech, and 4 on the last mech. If the roll is the target value or less, you hit that mech instead of your intended target.
Case 2: You MISS your target, but there are additional possibly things that could have been hit.
In this case, just roll a against a flat 2 for all possible targets in the line of fire except for the actual intended target (you missed it remember). This includes possible targets in the line of fire BEYOND the intended target. Whatever gets hit takes full damage.
Now in either case, an obstacle need not necessarily be a mech. They could be a vehicle, a building, or whatever. So some mods to the rolls:
Mechs: no mod
Vehicles: +1 to roll
Light Woods: +1 to roll (substitute for targeting roll penalty, ie, using this rule should remove targeting penalties normally inflicted)
Heavy Woods: +2 to roll (sub for targeting roll penalty)
Building: +1 to roll for elevation 1 buildings, +2 for units hiding INSIDE buildings