Ofcourse there are other modifiers at play too and much randomness indeed, such as lined out in defines.lua below:
NAVAL_COMBAT_ORG_DICE_SIZE = 1,
NAVAL_COMBAT_STR_DICE_SIZE = 10,
NAVAL_COMBAT_CRITICAL_HIT_DAMAGE_MUL = 10,
NAVAL_COMBAT_CRITICAL_HIT_DAMAGE_CHANCE = 10,
NAVAL_COMBAT_ORG_DAMAGE_MODIFIER = 1.0, -- Average damage is the same, but it will be more consistent with less randomness.
NAVAL_COMBAT_STR_DAMAGE_MODIFIER = 0.12, -- Average Strength damage is a bit higher and there will be much more randomness in it!
As you can see positioning is not a part of it (if it is it's invisible), and I do agree with your theory that which ship gets to fire probably is random, (but the chance based on positioning).
And my point was that once firing the average damage inflicted should be the exactly same, and not affected by positioning.