Sure, but then you've just shifted the problem up a level. Now I have to trust that the user id you provide me in the insecure channel really is you. Which means either trusting the insecure channel or trusting that the web app has confirmed who you are in some other way before giving you an ID.
We have to reject the first since we could skip all the asymmetric crypt and just send a symmetric key directly in the insecure channel.
If we're trusting the web app has confirmed your identity, we've moved from "just quickly go to this page and it'll generate you a public key" to "go to this site, upload a photo of your ID and a video of you saying that its you and whatever other verification is needed, then it'll give you a public key".
You originally wrote:
The one sticking point is that your recipient needs to visit the site before you can send your vacation photos to them, but is it really that hard?
The hard part isn't them going to the site in advance, it's them establishing trust with the site that they are who they claim to be.
This assumes that the reviewer who gave the rating wasn't considering value as part of their scoring. I'd expect the reviewer to be scoring a TV based on his good it is compared to similarly priced competitors, not comparing to every other TV on the market