I\'m planning to write a 3D FPS game, based on WebGL.
There is a WebGL library focusing on web-game design and implementation called Babylon.js. http://www.babylonjs.com
Its strong advantage is that it provides lots of rendering effects in the library and you can just simply call these functions.
Of course, Three.js is a fundamental library for WebGL and all things are able to be implemented by it, just it may be time-consuming for game design. But I suggest you to start with Three.js to get familiar with WebGL and then use Babylon.js to do your game.
It's been just about a year since you asked and WebGL is now shipping in firefox and chrome and firefox mobile for android.
If I were to consider this now, I think I'd go with GLGE for newcomers to OpenGL, SpiderGL if you know OpenGL already, and perhaps look at PhiloGL if you are an ExtJS/Sencha developer and like that style of doing things. Sencha touch will make more sense for a 3d app when the built-in webkit on mobiles ships with WebGL.
You might also want to take a look at GLGE and SceneJS. As Liam says, there are no established leaders yet, but from what I've seen those two and Copperlicht are the most-discussed. SceneJS in particular has a very active mailing list.
A few new options emerged since this question was first asked.
For games, Turbulenz is a very good library: http://biz.turbulenz.com/developers
Playcanvas seems to be good too: https://playcanvas.com/
Depending on your needs regarding download size, Unity can be a good choice too. With it, you can export your game to almost any platform. The only downside maybe is the relatively large files it produces. http://docs.unity3d.com/Manual/webgl-gettingstarted.html
Surprised noone mentioned Three.js. It has strong community behind it which adds new features on regular basis. You can try it out and play with it on WebGL playground:
http://webglplayground.net/
There is a Three.js template for new projects.
Yes you should definitely use a WebGL framework, it will save you a lot of work.
The WebGL ecosystem is in such a rapid state of change at the moment that it is quite difficult to choose a particular library. However, of all the libraries I have seen, I would suggest Copperlicht as it seems to be aimed at FPS games in particular. There are so few fully-developed WebGL games published right now that it is difficult to say what library is popular.