<p>I understand the principle of why a heater block is used. Helping to reduce temperature variation as the filament is extruded using the heat capacity of the block.</p>

<p>But I’m wondering why it takes the form it does? I imagine it is cuboid in shape just for convenience as it’s easy to machine?</p>

<p>From a surface area to volume ratio a cuboid appears to be one of the worst shapes to use.</p>

<p>Note:
I am currently doing a project which requires me to increase the tool clearance of the nozzle of a 3D printer. Hence why I am exploring alternative print head configurations and heater block design trying to minimise the profile of the print head as much as possible.</p>

Changing the
flow rate
during a print can
not
be saved. There simply is no way. It is usually meant to be a fix with filament inconsistencies or to look for the right extrusion factor for a new filament batch.
Slicer
The only way to consistently increase the flow rate would be  to alter the
```
flow rate
```
in your slicer to what you have found to work best for each machine, probably using separate profiles. This will up the rate for every subsequently sliced print. Note though that this 108 % increased extrusion is converted extrusion factors that are simply numerical and 1.08 times the normal in the g-code. These numerical values will be taken as 100 % by the printer - and since it requires extra work to slice the gode for different profiles it is not the optimal solution.
As you elaborated though, this is not a doable thing, so let's look further.
Source hunt & Workaround
Since only one printer is showing underextrusion while the others do not, it is time to check the hard- and firmware:
underextrusion can be caused by a defective extruder assembly or a damaged or blocked nozzle.
if a machine has consistent underextrusion, its steps/mm in the firmware might be off. This could be altered and stored in the EEPROM. Since this could be a machine unique setting, here would be your point of attack to increase the extrusion of just one machine while using the identical G-code to all other machines.
Note that the standard firmware of the Ender-3 in 2019 did not contain Thermal Runaway Protection (
What is Thermal Runaway Protection?
) and should be upgraded because of this anyway. You have to flash a bootloader too, so in the process of doing the upgradeability and safety-upgrade to all the machines, you could store the altered steps/mm to each machine individually so they get consistent output.