So, my solution (and its surprisingly simple): Apple should allow each developers to sign her applications with the certificates Apple provides. Lion should ONLY run applications with Apple-provided certificates, and Lion should have a control panel that says, Heres a list of applications you (the user) will allow to be run that dont have trusted certificates from Apple.
What? you ask, if youre not a developer. You just said Apple already issues developers certificates. Yes, they do. But they currently dont allow us to sign the apps we release ourselves with Apples special certificate for us. Only Apple can, and they only do it for applications we submit to the Mac App Store, that pass auditing, and give up 30% of their profits. (Which isnt always onerous but also isnt catching any malware authors.)
My suggestion is for Apple to provide certificates directly to developers and allow the developers to sign their own code. And, by doing this, Apple can then reasonably say, Ok, now were going to, by default, not allow the user to run any code whose certificate wasnt issued by us and signed by a real third-party developer (except the stuff the user checks in the control panel).