You generally want a smallish number of buckets as each query has create that number of scanners. e.g. if you have 16 buckets, you'll create 16 scanners for every metric in the query.
If you have 300 regions, then depending on how you split them originally, you should be able to write to all 300. E.g. you want to split the regions evenly on keys starting from "\x00" to "\x0F". It's also good to turn on random metric UID assignments for even better distribution.