The first problem I always think about is figuring out which template to insert -
https://phabricator.wikimedia.org/T55590Template parameter insertion works mostly fine if TemplateData is defined. This requires some effort from the community, but it's reasonable. But the editor always has to type the template name, and this means that the editor needs to know all the available templates. Needless to say, there are thousands of them in the active wikis. Some kind of a template picker would be a Very Big Nice-to-Have.
A wider problem is that templates do A LOT of very different things, which could be (very roughly) grouped into several types:
* talk page templates (different for user talk and article talk)
* article tags - {{unreferenced}}, {{Expert-subject}}, etc.
* inline tags - {{citation needed}}, {{who}}
* infoboxes
* inline content - IPA, unit conversion
* block content - {{Quote}}
Talk page templates should be largely irrelevant for VisualEditor development, although they should inform Flow development.
Article-level tags should become page metadata and taken out of the page's code. (Done well, this could be a boost to editor engagement by helping get subject experts to take care of problematic content in a way that is better organized than the current backlog categories... but I digress.) Something similar should be done for inline tags like {{citation needed}}, although I don't see a way to separate them from the page's code.
Infoboxes should be migrated as much as possible to Wikidata; ideally, they shouldn't be in the page's code either.
This leaves us with inline content and block content. This is a mix between visual formatting and semantic markup. Largely, the editing communities have done a pretty good job at maintaining it the way they need it for their projects, but unfortunately the implementation is different in every language. A coordinated effort to find common templates that all projects need and integrating their insertion in a smoother way would be great. This was more or less with citations, and it can and should be done for other areas.
As James said in the MediaWiki summit 2015, "global everything" :)