Hi,
A few tidbits of advice, I've had the luxury to test some of these assumptions on a production like environment and a non-trivial application recently.
-Use the CMSCollector if your application can not have GC pauses (it does lower throughput of your application between 5-10%. The Old fashioned GC is still recommended if you must really have that last bit of raw performance, but I'd never go to production with it. (with large heaps a full collection can take several seconds, negating all the benefits)
-Upgrade your VM. Seriously, I just upgraded to the latest (1.6.0_18) and it brought a cool 10% performance win. The fact that Sun called it a performance release had nothing to do with it, I swear

The new VM does have the problem of not being able to do CMS + CompressedOOPS + Hugepages, but I'm sure it will be adressed at some point. (Remove one of these and it works fine; I picked CompressedOOPS as it does not have a big effect on throughput for my apps)
-G1GC is still experimental, I'm sure others have great experiences with it, but for me it just died before my performance tests even ramp up.
As always, measure your results!
Once you have a good testset ready you really reap the rewards by being able to tweak settings and validate the results.