Wow, you actually just made me think of something that could have been a great change for GitHub.
Rather than completely limiting private repos in their old pricing model, they could have limited "active" repos, and created an archive feature, where archived repos were not available via Git, but still existed as backups and in case you ever wanted to make them active again.
I do, however, believe that the new, per-user pricing is more sustainable. File storage is rather cheap; running Git pull / push is not necessarily.
They already had this in their old model. If you downgrade your plan and have more repos than allowed, they don't force you to delete them. They archive them and if you ever need to access them and make them active again, you just upgrade, for at least the month. Seemed pretty fair.
You can still remove a repo and keep backups yourself. Allowing it through GH makes it very easy to exploit this by archiving/unarchiving repos constantly.
The problem for Github was that the best place to "keep backups yourself" was Bitbucket. I archived a number of inactive projects from Github to Bitbucket. But that gets tedious, so why not start them on Bitbucket in the first place?
Rather than completely limiting private repos in their old pricing model, they could have limited "active" repos, and created an archive feature, where archived repos were not available via Git, but still existed as backups and in case you ever wanted to make them active again.
I do, however, believe that the new, per-user pricing is more sustainable. File storage is rather cheap; running Git pull / push is not necessarily.