Measure and limit file uploads

I would use a multi site installation for this. Give each user their own blog.

Multi Site has built in disk quota functionality, and you can see how much of it is used and such in the admin area of each site. You can set the quota in the network admin: settings > network settings.

Combine that with domain mapping allowing your users to have their own domains and you’ve got a fairly powerful system.