For the most part, variance in filament diameter is due to high temps to garner faster extrusion speed. If we aren't extruding that fast, it shouldn't be too much of a problem. However, to mitigate variance in filament diameter, one could conceivably include a sensor to monitor filament diameter and adjust the software as such on the fly. Because the extrusion motor is still tied to the controller board and the heating element would also be tied to the board, software could alter speed and temp on the fly to adjust.

This design however, is in attempt to keep the established hotend design in place. If I needed to completely revamp it:

I would use a hopper of pellets into a heated region/funnel, making sure it got to temp, down a heated tube to an effector mount screw drive to extrude. This would skip filament completely. Any waste filament can be placed off to the side during extrusion, only to be placed back into the heated funnel as now there is no need for tight tolerances for the plastic.