Can’t say it will be the perfect solution, but in the Subdivision Surface modifier, there’s an option that by default is enabled called " Subdivide UV ", try to disable it and see if it still deform your texture badly
First you could “relax” your geometry making quads more even.
When you do U - unwrap look on the T panel or press F6 for options on command; there is a bunch, some are self explanatory some you rather check on wiki. Here i used U - Project from view and had nothing more to do. No stretch no distortions. Might depend on your whole model though.
There is texture - normalmap which makes that illusion and another, white on top of that. Technically that is another material, texture just mixes them.
To the topology- it is about the same you had just some more added. To get them evenly spread out - Loop Tools addon - Space and Relax.
If you start from circles and curve there is no much you could do differently without criss crossing things badly.
Again, it all depends on what you have on a whole object.
With Loop Tools it’s better to work on each loop separately, not the whole mesh at once.
Click-select one vertex, Ctrl-click end of segment and Relax. There are some options available - Input - Parallel all can be useful e.g.
Sounds like a lot of work to do but it’s fast ;).