If you can stand a possibly louder printer you can use SpreadCycle instead of StealthChop.
This should keep the motors cooler with the same current.
Exchange
stealthchop_threshold = 999999
with
stealthchop_threshold = 0
in the respective stepper sections.
And i think you can delete the following in the Z stepper section:
gear_ratio = 16:1