I detect a firmware feature request: option have the battery NOT heat until after the charge is completed. That way you can dial it in to charge in the wee hours, and have a nice toasty and freshly charged battery when you head out in the morning.
I have a slightly different request: change the firmware so that you tell the car when you need it. Then, it can decide when to start charging based on available current, state of charge and how much preheating it will need to do. Then, it lets the car sit until it's needed and then does a just-in-time charge. This is good for your battery by letting it sit around at a lower SOC, and also saves energy by not having to keep it heated for very long before you're ready to go. It could even be clever enough to reduce current if it's got time and it thinks that would be better for the battery. If you plug in at a very low SOC, maybe it would know enough to get you up to a safe level quickly, then sleep and charge later.
The only problems I see with this are if you need the car when you didn't expect it won't have as much charge, and having to optimize charging later to save battery lifetime/heating energy vs. time-of-day electricity rates.
I believe that I heard that some othe EV (maybe the LEAF) has something like this. It would be great for Tesla to have it, too.
As it is, I have to guess when to start charging, and I picked 4AM because it's pretty late but still early enough that I'm pretty sure it'll be full before I leave in the morning even if I used a bunch of battery the previous day. It also has the added advantage of having the noisy fans running when I'm not around the car.