Since you stated that your system is only having trouble at writes, doing batch inserts, I would look at how you are doing these batch inserts and see if you can optimize this by using techniques to delay key writes or adjust locking mechanisms on the insert. Some databases have special insert from file or bulk insert operations that are much faster than running many single row inserts - be sure you are taking advantage of these methods.
Yeah, our DB geeks have already said a few weeks ago that they think we are doing these bulk updates in a pretty inefficient manner, so that's something else we plan to optimize.