I think I've found the silver bullet for the evil stuff in JS: Never use anonymous functions!
You then no longer have to make closures or visit callback hell. And your code get easier to understand.
I don't understand the problem you think anonymous functions are causing, or how your solution of just not using them helps.
Sure, if you're littering your code with anonymous functions at the top level, you have no idea what is executing when or why. But who does that?
How do you think naming a function, then calling it is any better, if you just littered your function calls all over the place (assuming that is why you think this is a problem of course).