EDIT: I see; the order of operations on some of the OP's formulas is misleading... At least it was for me. (My bad). If one is aiming (ironsights), crouching, meets the skill/str req for the weapon, and has both arms in a non-crippled state, then because one of the multipliers is zero, all other considerations are moot -- this is also why Norbingel can't get spread to carry over into ironsights. Basically, crouched+ironsights gives you a skill of 100, unless you're under a skillreq for using the weapon. This is bothersome to me, but scriptable for the player. The engine, however, really should have included a skill (or raw) "base" in addition to penalties, to go into the same brackets as the penalties, preventing that from reaching zero and cancelling everything else (like skill) out.
Well, it even was explicitly stated in the OP that, if there are no penalties, you automatically have the best possible player spread.
"As long as you have the weapon’s required strength and skill values, and no crippled arms, you will have the best possible accuracy while crouching, not moving and using IronSights. Perks and ammo [and skill as well] will not improve that."
I was quite excited to see the wobble skill conversion in there, and so I did some testing and only ended up scratching my head: no effects at all by changing the value, even to extreme amounts, *except* that within the range of 0.0 - 1.0, the expected 6-degree shift did occur from skill ranges 0 - 100 (negatively).
SkillBonusMultiplier
1.00 - Player Skill/100 * fWobbleToSkillConversion
Ok, we didn't state the defined range here, but for anything outside the range of [0, 1] this makes no sense. If set you set fWobbleToSkillConversion > 1 you would end up with a negative multiplier for 100 skill.
The semantic of this setting is that its a bonus, not a penalty, and the higher fWobbleToSkillConversion the higher the bonus, so for 0.0, 100 skill won't give any bonus, for 0.5 100 skill will multiply player spread by 0.5, for 1.0, 100 skill will multiply player spread by 0 (and thus completely removing it unless theres fMinGunSpreadValue).
If you want to increase gun spread, you have to do it by increasing penalties, if you want to increase it for the case when there are no penalties active (=sneaking + aiming etc), theres no way to do this other than fMinGunSpreadValue, or maybe with a perk that adds a static value as additional base penalty (haven't tried that).
The UnaimedSpreadPenalty also does nothing. Setting it to 100, for example, give me no noticeable change in spread.
Setting it to 100 would mean an ingame spread of 600°, which is not even possible. Try setting it to 5 or maybe 10, you will definitely notice increased arm movement (just tested this myself again)
Ditto for several other settings. This applies both to GECK changes and ingame console-based NVSE setnumericgamesetting changes.
Test those again as well with reasonable values.
On the other hand, fnonattackgunwobblemult, which isn't included in your calculations, does exactly as your calculation would predict, including large numbers.
Well there are always new things to find, gotta have to look where exactly this one is applied.