Is it possible to make material independent of the geometry or the details of the mesh?
The issue is caused by UV stretching, which is a result of deforming the mesh with a displacement AFTER the model was already UV unwrapped.  


Open the UV Editing tab
Hit the N key to open the side bar
Expand the overlay section of views
Tick the box that says Stretching


Now you will see something like this:


The dark blue areas are good and have little or no stretching.  The bright areas with more yellow are bad and have a lot of stretching.   To fix it try selecting all of the UVs and hitting UV -> minimize stretch.  If this doesn't fix this issue enough, then you should try to unwrap the model again.


NOTE - If you don't see any stretching, try applying your displacement modifier.