Do note that one strategy is to create more shards than you need at the beginning. Say you determine that 10 shards will work fine, but you expect to grow your corpus by 2x. _Start_ with 20 shards (multiple shards can be hosted in the same JVM, no problem, see maxShardsPerNode in the collections API CREATE action. Then as your corpus grows you can move the shards to their own boxes.
I guess planning ahead is something we can do. We usually have a pretty good idea of how large our indexes are going to be (number of documents is one of the things we base our license pricing on). I still feel like shard management could be made easier. I'll see if I can have a look at JIRA and try to pitch in.
Thanks a lot for the input, especially Shawn & Erick!