Preserve Shape of Texture, when Object gets edited?
Short answer - you don't.

The UV layout is tied to the object in a way that each vertex in the UV layout represents a vertex in your 3D mesh. 

Imagine a rubber skin that gets stretched around your model. You paint it to look good on your model and afterwards you stretch your model or add new parts to it. Now, the same rubber skin has to cover a different mesh, which results in stretches. 

You can make the stretches visible in Blender, if you activate the stretch indicator in the Properties Region of the UV/Image Editor.



Moving vertices around creates stretching in the area and the angles of your UV layout. 



If you manipulate the vertices in your 3D mesh, you also need to update your UV layout to avoid stretching.