So we have this feature that compensates springiness of filament, called "pressure advance".
How's about we do something like this for cooling?
The problem: fans take time to spin up and air pressure takes time to advance.
The solution: look ahead for fan powering up command and power it up early.
I believe it's better to be done in firmware than hacked into GCODE, because it is machine-specific.
My case: I found that my fans take about 1.8 seconds to spin up, resulting in PLA bridges sagging in the beginning if I do nothing to my GCODE.
Yes, it's almost a second before it spins up from 40% to 80% and then some more before it reaches full power.
It is very much noticeable.