Something I'm going to incorporate is based on how I currently run languages in my Greyhawk campaign. All PCs start with a "racial/cultural" language based on where they grow up, the Common trade tongue (unless they grew up in a major cultural metropolis where it would be the cultural language), and one standard language of choice. You gain/lose a number of languages equal to your Int modifier, so smarter characters can gain extra languages (including rare ones), and dumb characters have fewer ones. NPCs only get their racial/cultural language, however, so only higher Int NPCs are likely to know Common.
Most people speak their racial/cultural language, unless as a courtesy among outsiders, making eavesdropping harder for those who don't speak the local language. While I still use various "racial languages" like Elven, it's really Flanaess Elven, since elves outside of the region don't speak it. Some languages are related to each other, making it possible to crudely communicate using different, but similar languages (such as Dwarf and Giant). Additionally, proficiency in a language works as a form of Cultural Lore for those who speak it, adding proficiency on Int checks to know about them. I've found this makes languages relevant, and encourages the party to spread out their knowledge (as well as keeping Int from being everyone's dump stat).