At the risk of stating the obvious, if the data is bad then it cannot be magically corrected in post-processing. Stretching does not add noise, it merely makes noise more easily visible. You can try noise reduction before stretching (TGVDenoise with local support) or after stretching. You can try Atrous Wavelets noise reduction (with a strong mask to expose the background) to remove larger scale noise.