Yeah, S3 is not for tiny blobs..
What I have seen done before is concatenating many small blobs into a single large blob that is stored on S3. This works great for batch processing afterwards.
If you need read access to the objects one option is merge them into a large blob, and then create a small index file that keeps offsets for each of the tiny blobs. Then you fetch the index file, find the offset of the tiny blob you want and, do a range request for this offset into large blob.
This mostly works when you're not read heavy. I recently did an index file for serving HTML files out of a tarball. As an alternative to uploading many small files.