Get texture to never distort or change scale without manual unwrapping
If you don't want to unwrap, the only way I know how to achieve what you are asking for is by using 3D procedural texture shaders. You can achieve some very impressive results if you learn how to work with them and or code them yourself. Blender has some built in that you can layer up on top of each other, though it will likely take you a lot longer than unwrapping UVs and painting to make look nice.

Note that with procedural textures, you will lose a lot of control. With procedural textures you are trying to emulate a texture using math. So getting a dent or scratch right where you want it is difficult, getting an image like a decal is nearly impossible - or will still require unwrapping UVs and a good ol' fashioned texture. So basically procedural textures are really good if you have a repeating natural pattern such as landscapes, dirt, rock, metal, wood, cement, but not for highly controlled images/decals.

If you need your model to deform, you need to use refP or whatever the Blender equivalent is (relatively new to Blender myself.) Essentially, because you are using vertex positions as the coordinates (world space or object space) instead of UVs, if the vertex positions change or morph, your texture will swim unless you are using a static reference position/frame as your texture coordinate.

So moral of the story, if you have a deforming object or an object which needs a high amount of control and or decals/images, you are stuck with UV unwrapping. Honestly UV mapping is relatively painless in Blender with their seams. I prefer this method to all other solutions I have seen.

I know Disney came up with some form of mapping which made it so you don't have to unwrap or mess with UVs called Ptex, you just paint directly on the faces and each face stores its own image map of sorts (texels). But Blender obviously does not have that in their toolset. Here's the reference on that:
http://ptex.us/