As I expressed in a comment above, I’m too very much interested in this question.
First, it seems wrong to create additional directories (for the other classes and utilities) directly in your ASP.NET MVC project. Also, I don’t feel that it should be in model. To me, model is more or less data classes which in some way represents the database (or the data we are trying to model). On top of that, often the business functionality (or the "real" pieces of code in your application) deals with several model classes at a time, and so there may not be a natural place for it in some model class.
So I think I am leaning towards the following schema:
- Make controller actions very small; just few lines of code each.
- Keep model simple and mostly functionless, and put it into a separate project.
- Put all your code that does all the "real" work (the "business layer") into a separate project.
This way you will get a complete freedom in choosing your own namespaces, you will be able to create any number of utility classes, functions, and generally able to structure your code as you like without being restricted by ASP.NET MVC.
This is just an idea. At the moment I’m working on my first larger ASP.NET MVC application. So I’m actually going to learn whether and how this works in practice.