two things... starting with the suppressor bulk first:
The MK + sup is pretty LONG... you would have to fit it on your thigh to have it 'out of the way' and even then it would scratch around your kneecaps. At hip it is even more bulky. Bulk is not only weight...
Another reason was the balancing as already said earlier even if the quote wasn't taken from a 100% serious dialogue. Every weapon, mag and equipment in INF has bulk values that are used for balancing reasons and for represnting their real counterparts. But you cannot model these values 100% after the real thing if you want to let the game remain balanced. Else everybody would run around with dozens of 40mms or frag grenades or would carry hundreds of clips, would carry three pistols, two ARs, a nade launcher, one or two MPs and a sniper rifle for the case you need it...
To the general issue about offsets, iron sights aso...
Well, in UT you cannot determine the 100% correct spot of ie. the weapon meshs muzzle. In UT2k3/4 you can archive this by placing a bone at the correct spot that uses the correct rotation but not in good old UT from '99. So, the weapon model and the used offsets are two fully seperate things that we tried to get as close together as possible for the 'standard' ranges the weapons are used for. If a weapon model is not 100% accurate in its position of its iron sights, or if the model is only a tenth part of a degree rotated to the left or right, up or down, or any other slightly off part then the whole thing will not be working correctly. So it is always a tweaking of values till you have a set of offsets that allows the usage of the models iron sights properly on specific ranges. So, every of our weapons is slightly off to a specific degree... some more like the M16 for example. So, the minimal errors that the modeler and animator made during the building process of the model are responsible for the ability to use the iron sights in game.
Maybe compare it to the real world and the real iron sights out there. If the sights are not 100% then they will not be fully useable. So the range used to 'zero' the weapons in real life will be the one that the weapon will be dead on... any other distance be it closer or farer will not be dead on target. And the farer away your target, the more the 'error' will be noticeable normally.
So, take it this way:
We tried to setup everything as good as possible with the given models and animations and used standard ranges for the zeroing. The values we are using made their way through hours and hours of testing (weeks if not even months actually), even code changes and totally new offsets and whatnot, to get this final result that IS useable on the ranges the weapons are designed for.
In addition... if you know or better learned to which direction the projectile will go off oncertain distances then you know where to aim even if the iron sights are a bit off then. And if you now think that a game that tries to be realistic should be 100% accurate with their iron sights used, then let me tell you that in real life you will not have a 100% accurate system in hands normally too.... even not the special forces. And even then, some weapons tend to drift off into specific directions by 'design' out there... so nothing is 100% perfect.
I just remember 'my' weapons I had in hand during my time in the army... first training G3 was dead on spot at 200 meters... perfect on this range and closer, but not for longer ranges. My 'regular' G3 I got after training was totally off... my 'aiming spot' was 'left lower 4' by 10 being the middle circle... now think about the spot I had to aim on on 200 meters... was not such an easy shooting anymore then