I recognize there are many problems that can be streamlined when it comes to the onboarding experience in Nostr (across any kind of client, really), but I don't think full-on abstraction is the answer.
The best way to make things easier is through education.
We know "Nostr the protocol" - But we don't know "Nostr the ecosystem".
Possibly, the first step to get users to understand Nostr, is by focusing less on "Nostr the protocol", and more on "profile interoperability between apps".
Relays need to become first-class citizens in the experience.
The understanding that apps are talking the same language comes naturally then.
Even for normies, after watching these easy-to-follow demos for instance:
https://how-nostr-works.pages.dev/#/outbox
Do you truly feel like it's outside the grasp of the average user?
I feel like making relays into first-class citizens of the Nostr experience is the secret sauce, and it's like discord servers (but far more powerful) - Everyone knows they can get different kinds of experiences on each, and that each has its uses, and that their history is segregated between them, but can also be shared.
In the end, it's a matter of how we present Nostr.