...should never shoot to kill ...
Wrong, they should always shoot to kill, and the only reason they should ever shoot is when they mean to kill. They are not deer hunters or sushi chefs, they do not have time to try to aim for the legs, shoot the gun out of the perps hands, or fire warning shots (and kill innocents). They need to take down the immediate threat as soon as possible.
There's plenty of non-lethal means to incapacitate such a person
If the person is not threatening the life of the officer or anyone around him, then yes non-lethal force can be used to incapacitate. However, anytime the suspect is holding a weapon, there are too many variables involved to risk non-lethal force. Which generally only consists of a taser, bean bag shotguns can be used to resolve non-hostage situations effectively. The engagement range for a knife attack is 20 meters, the effective range on a tazer is 10 meters. If you hope to use non-lethal force on man lunging at you with a knife or a screw driver, go for it, it's your funeral if you tase him and he still closes the distance and stabs you in the throat.
At the end of the day, it is about the police officer coming home safe.
At the end of the day it's supposed to be about everyone being safe, not just the police officer. Any time a cop shoots his/her weapon, they risk more lives than the guy with the knife did. Period.
20 meters ? I'd think 20 feet, maybe 10 meters, but 20 meters is an insane engagement range for a knife. Even considering the possibility of an olympic quality sprinter somehow surprising you and closing the distance, you've got 1 or 2 seconds and they'd have to be prepared for a sprint. For "normal" people standing in a normal defensive/offensive fighting stance you've got at least 3 or 4 seconds to react.