The LOUD project has extensive work on threat values - and as you have already determined, modification of the blueprint values, at runtime, is the most accessible method of doing this. Your intent is aimed in the right direction - without meaningful, and accurate, threat values, no AI can make informed decisions based off of the data - and this is a long standing problem going back to the release of the game. No direction was provided, so many unit authors just dropped in values that made sense to them, and were not related to any particular capability of the units.
Since you have no surefire method of controlling the load order of mods, your blueprint changes are at the mercy of any other unit mods that may alter the values. As Maudlin identified, he sidestepped this issue by performing calculations similar to what you are proposing, but doing so on the fly, during the game. This gets around any question of the values in use, but it may have performance concerns - doing it during loading has no impact on the performance of the game itself.
DPS calculations are going to be an issue, as unit authors are not exactly consistent in how they arrive at the kind of damage output their units will put out. There are MANY combinations and control values that can impact the actual DPS calculation - it goes far beyond the 'RateOfFire' blueprint value, which many consider to be the 'be all and end all' of DPS calculations. It is not - and anyone who has done sufficient weapon 'rigging' can tell you the many pitfalls, in the blueprint values, that can lead to an erroneous DPS value.
One issue that is not addressable is the impact of unit enhancements on DPS - as the blueprint threat values, once set, are static for the duration.