Damage calculation is complicated, so it's hard to display in a single number. It would be possible to calculate the exact damage range, but that would need to include resistance, armour and facing of the target. People have argued against it because it takes away the surprise of fighting against unidentified enemies. I on the other hand would like to have it, because you have the surprise only on your first playthrough anyway.
An example of complicated damage calculation is the battle rifle AP clip. It has an armor modifier of 0.7, but a health modifier of 0.9. How do you display that? It does 36 damage, so the displayed damage range would be 0-72. However, because of the 0.9 health modifier the maximum damage the round can do is not 72 but 64. The 72 is still important because that is the number that is compared to the armour of the target. The 0.9 health modifier is then applied to the damage that gets past the armour. To be immune vs this round, you need a little over 100 armour.
Sooo... when you want to know weapon efectiveness, the best you can do is to test the weapons in battlescape. Exact calculations are complicated, especially once you want to include the effect of multiple hits that each damage the armour.