I would check out s33r… It’s a gem you can install that’s made some improvements to the Amazon code. The biggest problem I’ve seen so far is that Net:HTTP has some very small buffer sizes hardcoded, and the s33r author has written some workarounds for this.
I’m in your situation as well… I’m going to be integrating S3 into a project soon, and I actually wrote a bunch of extra stuff before I found s33r. I haven’t used it yet, but I took a look at the code and it seems that the author has solved some of the bigger issues.
Let me know how it goes, if you’re able