This paper presents a Python-based algorithm, named INSCorNorm, to correct the inelastic neutron scattering (INS) spectra for both sample and container self-shielding and to normalize the experimental spectral intensity to an absolute physical scale (barn/energy unit) facilitating the comparison with computer simulations and interpretation. The algorithm is benchmarked against INS measurements of ZrH2 performed on the TOSCA spectrometer at the ISIS Facility. We also apply the algorithm to the INS spectra from l-lysine, a system of broad interest in biology and medicine, and we discuss how corrected INS data provide an experimental benchmark for theoretical calculations of nuclear anisotropic displacement parameters in molecular systems. The total neutron sample cross section to use for the self-shielding corrections is discussed, as well as the best approach to derive experimentally the cross section at the VESUVIO spectrometer, together with the experimental value of the hydrogen nuclear mean kinetic energy, ⟨Ek⟩. The algorithm is made available to the neutron user community within the MANTID software.