Another key distribution system is to use a key-value blockchain store based naming model such as Blockchain ID (formerly Passcard, Onename).
https://github.com/blockstack/blockstack/wiki/Blockchain-ID-...
You use the user's username (key) to look up their profile which is either stored in the blockchain or "snapshotted" to the blockchain so that it is tamperproof. You can store the PGP (or OTR or<insert your favorite public key here>) public key fingerprint in the profile.