Atmega328p PWM overheating and flickering
Random flickering on (different) outputs when turning potentiometers

You are continuously writing the PWM output registers. Don't do this.
Instead, add a low pass filter and read analogs at a regular basis. Every 10 milliseconds for example. Put this in the filter, and use the output of the filter for your PWM.
The best time to update the PWM values is on timer overflow (reload). See if you can get this interrupt.

Controller randomly &quot;crashes&quot; and needs to be reset when simultaneously turning the pots for red/green and blue/white. This does not seem to happen in other combinations.
The controller heats up (I think it's on the side of the output pins) the more potentiometers I turn &quot;on&quot;. This also leads to the microcontroller crashing and needing to be reset.

Those are related.
You forgot the base resistors on the transistors, thus you are probably overloading the output pins.
Also, I see no capacitors at all. This can make significant switching noise from the PWM of the LED's to make the chip behave erratically. You've omitted this part, but are you sure this is all correct?