It appears that your fear is that simply adding the value of the soul to the value of the gem would cause the filled gem to become undervalued. I don't know how the coding works, but perhaps it would be possible to add, for example, twice the value of the soul to the value instead of just 1x? The real problem of the vanilla system came when you were adding something along the lines of 500x the value of the soul to the value of the gem, so a fixed multiplier would be much more fair, as well as much easier to control (so that even if mods alter the price of soul gems, they don't become ludicrously overvalued by filling them).
The problem with your idea is that a soul gem has two values. Value #1 is based upon its capacity to have a soul placed into it, so that a gem which is capable of holding a larger soul has more value than a gem which is capable of holding a smaller one. Value #2 is based upon the size of the soul the gem contains.
With the exception of Azura's Star, before a soul gem is used, value #2 is 0. After it's used, Value #1 is 0. At no time (again, except for Azura's Star) does a soul gem both hold a soul and have the capacity to have another placed into it. It doesn't really make much sense that value #1 and value #2 should ever be added together, since they are mutually exclusive.
And that brings up Azura's star, which is the exception to the rule. Its value should actually be the sum of the two, because in that artifact, the two values are NOT mutually exclusive.
As to the calculation of the soul value, I really don't think it should be linear. To put it in perspective, consider the cost of a 1 carat diamond compared to the cost of a 10 carat diamond. 1 carat round = $3,000, 10 carat round = over $320,000! The larger diamond is significantly more rare, and its price reflects that. Although the default calculation is obviously unbalanced, a soul which is 10x larger should not simply be 10x more valuable for several reasons.
1) A larger soul is a bit more rare than a smaller one. Compare how many dremoras there are to the number of rats and mudcrabs, and this becomes obvious.
2) The previous owner is going to be much less willing to part with it. Just ask the aforementioned Dremora.
3) There are things which can be done with larger soul gems that cannot be done with a smaller one. (like CE effects)
4) And finally, the construction of an enchanted item can only be accomplished with ONE soul gem. An enchanted item which requires a 100 point soul cannot be constructed with 10 soul gems containing 10 point souls, making a single 100 point soul more useful (and therefore more valuable) than 10 gems whose soul values total 100.
I'd recommend something which uses a calculation similar to the one associated with spell ranges, but toned down a bit to account for the wide range of soul values. For example:
Mudcrab: Soul value = http://forums.bethsoft.com/index.php?/topic/1090176-repairing-the-cogs-of-morrowind-no-18/10; rarity modifier = ( 1 + 10*10/32000) = 1.003125
Dreugh: Soul value = http://forums.bethsoft.com/index.php?/topic/1090176-repairing-the-cogs-of-morrowind-no-18/75; rarity modifier = ( 1 + 75*75/32000) = 1.17578
Frost Atronach: Soul value = http://forums.bethsoft.com/index.php?/topic/1090176-repairing-the-cogs-of-morrowind-no-18/138; rarity modifier = ( 1+ 138*138/32000) = 1.595125
Hunger: Soul value = http://forums.bethsoft.com/index.php?/topic/1090176-repairing-the-cogs-of-morrowind-no-18/250; rarity modifier = ( 1 + 250*250/32000) = 2.953125
Golden Saint: Soul Value = http://forums.bethsoft.com/index.php?/topic/1090176-repairing-the-cogs-of-morrowind-no-18/400; rarity modifier = ( 1 + 400*400/32000) = 6.0
Using a system like that, a golden saint soul would have an overall value 239.25 times greater than that of a mudcrab ( because it's 40x as large and 5.981x as rare)
That's one approach to keeping a non-linear value system without being overly complex or overly generous. The actual value of a filled soul gem would then be the original soul value multiplied by the rarity modifier multiplied by some constant. If we used 3 Gold as a constant, a mudcrab soul, regardless of which soul gem contains it, would be worth 30, while a Golden saint soul would be worth 7200.
If an exception is written in specifically for Azura's star, then a golden saint soul in a grand soul gem would be worth 7200, while a golden saint soul in Azura's star would be worth 12,200.
Of course, it also means that Vivec's modifier would be 32.25 and Almalexia's would be 71.31, so maybe the modifier should be capped at some point. Or maybe not. It won't break the system to have a couple of odd-ball values, and since Vivec and Almalexia's souls are both unique, it's not like the player can get rich by repeatedly summoning and slaying gods. Since these two souls can only be held in Azura's star, the default values would be 5,000,000 for Vivec's soul and 7,500,000 for Almalexia's. Using the above calculation, the new values would be 101,750 for Vivec's soul and 325,895 for Almalexia's (again, assuming an exception for Azura's Star - 96,750 and 320,895 otherwise). Quite large, but significantly smaller than before. And even so, it would require selling Azura's star to accomplish. It would still make Almalexia's soul the most valuable object in the game, but considering what must be done to acquire it (and the dangers associated with it), that's not unreasonable.