I believe that the shortcodes functionality is something like a necessary evil for both developers and users. After reading the "Shortcode Roadmap Draft one" and all the discussion that it followed, I was wondering if we could push aside shortcodes completely in favor of a different way of inserting custom content in posts.
What I suggest considering is creating a new type of content (named "Content objects", "Content blocks" or whatever). On the image below I made a quick and rough mock-up (not a design proposal, of course - not even a complete wireframe which would cover all possible scenarios) to demonstrate the main idea:
https://dl.dropboxusercontent.com/u/38634/Various/fireframe.png
Such an approach could have the following benefits:
1. End-user wouldn't have to memorize shortcodes and their parameters.
2. Content objects would be editable in the editor like any other object such as images or galleries, by clicking the pencil icon.
3. Developers could set what should appear if their plugin is uninstalled (keep the shortcode's content even if it's unformatted, declare some decent plugin-agnostic fallback or remove it completely).
4. Depending on the object, the user could see the actual content in the editor, the same way that they can see an embeded object or a gallery (even if the formatting isn't the same as the frontend's end result).