Sure there is: pre-shared keys, exchanged out-of-band.
Yet what of basic online communications where key-exchange is necessary and where we have very little say about the protocols involved?
No I got that just fine. As you know, I'm suggesting that not using public-key crypto or something else for the same purpose is impractical.