Sometimes someone loses connection, this is ofcourse something you can't help. But I think the units that the player had shouldn't just explode, but given to allies instead. After all they are fucked hard enough already by losing one player..
I think this could actually be pulled off if there was a timer built in.
-> On disconnect, the units are given but the ACU of the discon player stays alive and stationary. If it takes more than (x-damage) the ACU and all the units that were given will CTL-K. If the ACU does not take damage for (x-time) it will CTL-K as normal and all units will stay as in disconnect on a full share game.
I have no idea if this is possible or how hard it would be to set up, but this is the only way I could see it working. If a player disconnects, it makes their ACU an easy target for the other team during the relay time. If the player disconnected on purpose with f4 or a router switch while under attack, the penalty will apply as soon as the ACU takes some damage.