With regards to the heatsinks: back when I was trying to come up with a mechanic for them, I experimented with the “all heatsinks have the same capacity, but better heatsinks cool down faster” idea.
There’s a constant battle between heat being dissipated constantly, and heat generated in bursts (impulse) by each weapon fire. Even very slight differences in the numbers can cause a weapon to never overheat, or overheat way too rapidly. Under certain circumstances, the frame rate can also affects the fire rate, which makes balancing even more of a nightmare.
Ultimately, I decided that the “cool down faster idea” wasn’t practical, and I chose the “larger heat capacity” mechanic (where a better heat sink just means that you can hold the fire button down for longer). It did create some issues with cooling (it appears that it cools down slower, whereas in fact it’s cooling at the same rate) so I had to fudge the “overheat” mechanic (so all heat sinks take the same amount of time to recover from overheating).
I think I will experiment with (@Boggy’s idea ( Early Access version 35 - #92 by InterAction_studios ) see how it looks.