Scaling User-Defined Unstructured Data

I’m trying to store data based on a user-defined format. Every user defines their format and stores documents based on it. My first instinct was to create a collection per user, but Mongo shards based on indexes, so instead everything goes in one collection sharded by user_id. Now I want to be able to sort and filter efficiently based on the user defined queries and fields, but Mongo only supports 64 indexes per collection. I need potentially much much more than this, because each user might define a couple indexes based on their query patterns. Is there a good way to do this?