Hi,
first of all you should consider the number of overall users and the number of concurrent users.
The total dimension of your archive is important but is more important its increase rate in time.
Also try to figure out the approximate document modification rate.
Don't file more than 1000 objects per folder.
Another important aspect is the full-text search: try to understand how much it is important to you and if you can avoid it on some content. Remember that the indexing process is expensive in terms of performance and disk space.
About content model try to specialize as much as you can and to widely use aspects, avoiding setting them mandatory.
About development try to use Maven archetypes and to build an AMP module in order to keep it separate from the original alfresco.war
Web Services and WebScripts serve right for the application, since it is build on top of Springframework, giving you a lot of manageability and extensibility.
Hope this helps.
Regards,
Andrea