There seems to be no strong technical reason to not make larger numbers of domain name elements available at the top level, rather than than putting the bulk at the second level, where it will unnecessarily extend the textual length of the average domain name and cause the small number of gTLDs to become arbitrary tags. The netnews newsgroups are a very good model for how the gTLD's could develop. Simply reverse the order of elements to get reasonable domain names. I see no strong reason why the basic structures should be particularly different, though of course there has been alot learnt from the experience of the newsgroup hierarchy and we can improve on it. Allow open slather.
People can use number suffixes at the second level if really wanted instead of the top level.
Only dictionary words at the second level. Only numbers or single letters at the second level. Have social categories instead such as .eng, .golf or .sea. Let individuals decide what they want to be associated with. We already have geographical categories so they don't need to be included.