Personally, I think the OS should stop asking the user to authorize programs, and start asking to authorize companies (i.e. master per-company application signing certificates). You would get asked once that "Apple Corp." or "Adobe Inc." or "The GNU Foundation" would like to install something on your computer, and then it would be okay from then on. It would be alright to accept further products from the same company without confirmation because, if you stopped trusting the company, you'd stop trusting all their programs, and would thus uninstall everything by that company (i.e. under that signing cert) at once.
I think if you look at the plight of anti-sec the equipment and the software is as much to blame as the user controlling them in many of the cases
One possible solution to this problem is to crowd source program analysis. The firewall popup would contain a rating system and user comments, and the user could make a decision from there. Security companies are making too much money off of crappy solutions at the moment to switch to this though.