No, the implementation wouldn't be that difficult - it's just that you
lose the advantages of separating your application code from the
backend - cluster maintenance is no longer transparent to the app. I
don't fully understand the software, but if it turns out that insert
speed isn't a bottleneck then keeping it simple on the app side can
save you time until you need the extra speed. But, again, you know
more about the insert rate than I do.
You can also do similar things via pre-splitting if you need this
level of insert control, for example by using a shard key of { day,
rand# } and pre-splitting 1/Nth of the inserts each day between N
shards (via a cron if you like). Changing "day" to "hour" would let
you tune the proportion of actively used index.