Not really sure how it works either, but I can throw in a point or two. I've personally never noticed a problem s'long as I've got a hand open... or at least I always assumed that th'message popping up meant, yanno', keep a free hand, not 'penalty now, ahahahaha'. If there's an actual 'two-hand' flag, I don't think I've noticed it.
Anyway, the major factor to it keying in is mech size, as far as I've been able to tell. A larger machine (Not in tonnage, but in the design file, battroid 2 vs battroid 7; without opening those up to check, larger mecha have higher HP/armor/whateverthatnumberis ratings on their parts, and their limbs are usually heavier, barring mass reduction in the design.) can one-hand larger weapons.
The other thing is actuators, though I'm not sure if it's a cumulative effect across the machine or just in the limb it's installed in (In relation to the needing free hand thing, in other ways it's cumulative.). I've definitely had the message stop keying after installing an act or two, in any case.
So what keys the message is something in relation to the size of the mecha and the weight of the weapon, with actuators shifting the target zone around... somehow. I'd think keeping a hand free would prevent the penalty from coming into play, but would have to pull out the game and open up the roll history to actually find out... and I'm lazy, heh.
Anyway, hope that helps a little, until someone who's actually rummaged through the code comes and illuminates us all.