Is there really no way to add edge loops with maintaining geometry?
I have not found any information on the web regarding that sort of tool in Blender therefore I conclude it does not exist. However I think the workaround might work in some situations depending on your needs. Here is what I used:  


select your mesh
alt +c (convert to) -> mesh from curve/meta/subd/text 
cleverly use the edges you need for your shape and remove the ones that does not affect it


Hope it helps.