Texture appears differently across surfaces of a complex object?
Automatic UV coordinates will yield relatively uniform and consisten texture densities across your mesh, with little effort too, at the expense of control and flexibility.

They will inevitably produce distortions of parts of the mesh, since they are blindly projected from a predefined point, without any regard for mesh topology or shape. They should however maintain an overall constant density distortions aside.



If you wish to have better results at the expense of a lot more manual work you should go with the proper texturing workfow and use actual UV Coordinates by unwrapping your mesh.

This is a manual process, and the texture density will only be as uniform as your UV map quality and unwrapping skills will dictate.

I was able to achieve relatively good UV quality from the U > Unwrap > Follow Active Quads > Even option, with a fresh UV layer, on part of your mesh.

It yielded a relatively good and even quads grid. This is how a good UV map would look.



Again I can't stress enough that by default there is absolutely no obligation that your UVs will be uniform under any circumstances, you have to manually make them uniform by eyeballing and visually scaling every UV island so it matches your desired density.