Behaving ethically does not imply allowing others to treat you badly. Recall I wrote that you can simply line out that clause, and explain it is unenforceable and you won't abide by it. You are then on ethical ground. If that "kills the deal" then do you really want to work for them?
> In reality companies who make you sign a non-compete will glady hire from an organzation they compete with.
Your ethics are about you, not the other party.
> If you somehow know the non-compete isn't enforceable and you don't tell them is that amoral?
Sensible people run contracts by their own lawyer - the lawyer for the other party has a fundamental conflict of interest. If you're signing a contract for $150,000 a year, don't you agree it makes sense to drop $400 on a lawyer to check it? You'll get better advice than on HackerNews - and your lawyer will be ethically obliged to inform you about these things.
Besides, having unenforceable clauses in a contract is neither illegal nor unethical. It's just unenforceable. Not everyone needs the threat of civil court to keep their agreements.