SELECTED ANSWER
replied on January 30, 2018
Since most of our documents have to do with people (employees and inmates) we route everything to a specific sub-folder under the individuals name. We depend on metadata for routing. Our templates are setup with dynamic field look ups so most of the metadata is auto filled by just entering one identifier, such as an inmate number. The workflow then creates the folder structure if required and files the document. Most of our folders are kept at 5 levels deep or less.
HR -> F -> Flintstone, Fred 1234 -> Benefits
However you decide to structure your folders requiring some key metadata fields goes a long way. Not only does it allow for searches but you could also set up different views within your repository. For example if you used the 'big bucket' folder approach you could still construct (via workflow) a secondary folder structure that presented items in a user view by using shortcuts to the actual documents. Get the best of both worlds depending on the users viewing needs.
Even if you take one route and later decide a different structure would be better, a little workflow and having good metadata can easily reorganize everything.
Consider who and how will people be interacting with the folders, will they be shared outside the repository such as Weblink. What other automation, if any will you be applying to the docs.
I think whatever makes the repository most intuitive for the end user makes. Always seems to be more than one right way .... :)