this is also a solution
rationormalize4[list_?VectorQ, pos_Integer: 4] := list/list[[pos]]
rationormalize4[list_?ListQ, pos_Integer: 4] := rationormalize4[#, pos] & /@ list
Maybe not as compact but will not give errors for non list inputs
In[4]:= rationormalize4[{{1, 2, 4, 6, 7}, "a", 1}, 2]
Out[4]= {{1/2, 1, 2, 3, 7/2}, rationormalize4["a", 2], rationormalize4[1, 2]}
In[5]:= rationormalize4[{{1, 2, 4, 6, 7}, "a", 1}, 2.2]
Out[5]= rationormalize4[{{1, 2, 4, 6, 7}, "a", 1}, 2.2]
An it can handle uneven dephts
In[6]:= rationormalize4[{{1, 3, 1, 6}, {{1, 3, 1, 6}, {2, 5, 7, 9}}}, 2]
Out[6]= {{1/3, 1, 1/3, 2}, {{1/3, 1, 1/3, 2}, {2/5, 1, 7/5, 9/5}}}
In[8]:= ratioNormalize5[{{1, 3, 1, 6}, {{1, 3, 1, 6}, {2, 5, 7, 9}}}, 2]
During evaluation of In[8]:= Thread::tdlen: Objects of unequal length in {{1/3,1,1/3,2},{2/5,1,7/5,9/5}} {5/2,1,5/7,5/9} cannot be combined.
Out[8]= {{1/3, 1, 1/3, 2}, {{1/3, 1, 1/3, 2}, {2/5, 1, 7/5, 9/5}} {5/2, 1, 5/7, 5/9}}