I'm trying to use a Subsurf modifier to create high poly model from low poly model in order to create normal map. And I'm not completely satisfied with the result. As you can see in the image below the size and geometry was changed with subsurf modifier:

I want to keep the original edges (red in the image above) and interpolate between them 'outside' of the model instead of inside of it as subsurf does.
Ideally upper bound of the mesh should follow blue line in the image below:

I know I can do this manually with Subdivide/Subdivide smooth but it takes significant amount of time. I know about Crease weight but setting Crease 1 to red edges will make Subsurf not working for them and geomerty will be unchanged.
Thanks in advance.