I'm guessing that would take care of cleanup very very well, while not inconveniencing users in the least. Users who use the service frequently will never even see the email, since only inactive users get it.
We might implement that very, very soon.
I wish more cloud services realized that they can have a pretty generous policy re: killing user's data.
It's like timeouts in Redis/memcached: doubling the TTL won't generally double memory usage, or anything close to it, for most types of data. The more important issue is having timeouts vs. unbounded waste; the length of the timeout is so much less important that you could afford to be pretty generous.
I don't think you should worry too much about this. Someone who abandons a free service for an inordinate amount of time shouldn't expect to see their data. Especially when the cost of storing such data isn't nominal.
Send them one or two reminders and you should be fine.
We plan to send an email one month after the user's last activity, and then delete the documents (just the documents, not the account, just in case) a month after that.
I think that, by lowering the free limit to 300 and culling inactive users' data, we won't need to worry about cost again. We are already in the green (very much so) from the great support we have gotten from paid users, but this will allow us to focus on improving the service rather than worry how we'll scale all that abandoned user data.