Removing eval wouldn't help— you could always just write a tiny interpreter to do the same thing. This is a problem in any Turing complete programming language (with Reflection), although JS makes it easier.
window[rot13("riny")]("console.log('lol')");
or one of the many other ways to obfuscate eval