How to maintain smooth curves on meshes with lots of uneven loopcuts? On models with a lot of holes/protrusions and other details which require extra loopcuts, how can I keep those loopcuts from having a large effect on other parts of my model?

For example, I want to keep this edge smooth like it is now, but there are some unwanted subsurfing of the inner corner:



If I add a loopcut to fix it, it adds a bump in the nice outer curve:



Is there a way sharpen up the inner corner without messing up the nice outer curve?



I tried mean crease, but it causes a lot of distortion and too-sharp edges.

Here is the example .blend.



Another example of a similar problem:
IMHO, it is hardly possible to keep that curve exactly the same as what it is after adding support loop, unless you take GiantCowFilms' second way, though it will bring new problem for subdivision. However, you can make the difference unnoticeable:



You can either do this by sliding GG or ShiftV on each side; or, select both sides, then W > Smooth, tweak levels and axes in F6 panel.