Remedy for pulling the output to ground in saturation?
is there any sort of remedy to this problem so we get 0.5V and zero
  outputs instead of 0.5V 0.1V?


All devices have resistance, so you won't ever get exactly zero. Therefore the question is how low do you need to go? 

Perhaps you just need a better transistor. The ZXTN25100BFH is a 100V, SOT23, medium power transistor with saturation voltage of 0.02V at 100 mA.  



If this is not low enough then you could use a MOSFET, which is purely resistive in the 'linear' region (equivalent to saturation region in a BJT). To improve on the ZXTN25100 at 100 mA it would need to have RDSon less than 0.02 / 0.1 = 0.2 &ohm;. A typical logic switching FET like the 2N7000 (RDSon = 1.8 &ohm;) is not good enough, but an IRLML2502 (typical RDSon = 0.035 &ohm;) would reduce the voltage at 100 mA to ~3.5 mV.



A MOSFET is usually the best choice when you want lowest possible voltage drop, but at lower currents a BJT can also work pretty well. One trick that sometimes works is to swap the Collector and Emitter. In this mode the transistor has very low gain, but lower saturation voltage. I tested a BC209 this way with RB = 4k7 and RL = 1k (for 0.5mA Collector current) and it only dropped 2.1 mV.