Unstretched Generated texture coordinates for Normal Mapping
You can use Object Coordinates to get a undistorted UV map without manually unwrapping the model.

Unlike the Generated coordinates which stretch to whatever size the mesh is (even if the object's scale is set to 1), object coordinates always stay square.

Here is a plane with generated coordinates.


Same plane now with object coordinates.