I'm okay with JavaScript -- you need some way of specifying behavior, and it's an entirely reasonable programming language. About the only thing I'd change in JavaScript, itself, would be to add visibility features (public, private, etc.) and maybe some modularity features. I believe this sort of thing is part of the ECMAScript 2.0 proposal, which may or may be going anywhere.

Where things get ugly is the API for interacting with the DOM, with remote servers, with other frames in the browser, etc. That's something that could stand to be completely overhauled.

What's intriguing to me about Chrome is that it's running each page in a separate OS process. That's good for stability, but I'm wondering how they do cross-process communication. You want to keep a single cache, a single cookie database, a shared network services, etc.