Eh, to hell with it. I did it myself. Here's a mock-up 0.0.2 of the mod:
https://www.dropbox.com/scl/fi/1x17kqwjk0zim9mgqu6lq/spoilage-solution_0.0.2.zip?rlkey=jxnrp9eacazltnb9z9gl9gxza&st=n0oi9aum&dl=0
I added a settings.lua with two Double settings. In item.lua, I pulled both settings and the spoil_ticks for everything you're modifying. In the data.append table, I simply swapped all of the spoil-ticks assignments with variants of:
spoil_ticks = math.min(yumako_spolage * canned_modifier, 4104000000),
The math.min is there because large freeze multipliers can overflow 32bit int limit of 4 294 967 295. I set it to 4 104 000 000 instead, since that's the nearest "neat" number. Shows up as 19 000 hours in the UI and looks neater than XXXXXhoursXXminutesXXseconds and the difference is immaterial at that scale. Added English localisation for both files. Haven't bothered with Russian localisation as I don't speak the language well enough and this is an example mod anyway. edit Also, put in a chanelog.txt, because it's just good practice to have that.
Also got rid of your control.lua, data-updates.lua and data-final-fixes.lua. You aren't using them, they were empty, so it didn't make sense to keep them. You can put them back in if you really want to.
Make of this what you will.