One thing I would suggest you to try, is to do lower, more realistic doping levels. This cannot be done by replacing individual atoms, because then you get into the n++ regime immediately, as you have now with "metallic semiconductors". While this can certainly be interesting and relevant sometimes, you may want to have a more traditional situation as well, with n/p doping instead (i.e. with the Fermi level in the gap).
To do this, you can manually add a certain amount of charge to the electrodes. In the script, at some point you will set the calculator on each electrode. Here, you can insert an additional keyword charge=0.001 or -0.001. You can convert this charge to a real doping density by considering the electrode cell size. The doping level needs to be calibrated, so check the electrode band structure again the charge (just for the bulk system), and you can see how nicely you can tune the Fermi level to any position you want in the gap.
In this case you should of course not have any dopant atoms as well, and don't forget to dope both electrodes, if needed. You can even do a gated p-i-n in this scheme. This approach also gets rid of having dopants in the central region, disturbing the transport properties in the part that nominally should be i-type.
Keep in mind you must do the gates simulations self-consistent, and you must set this explicitly since the default for Huckel is (unfortunately, I say) non-self-consistent for now.