Just brainstorming here in hope that somebody would pick this up and either drop as not feasible idea or iron out further details (been "sitting" on this for a while, hoping I'll have more time to iron out the proposal, but that doesn't seem to happen).
There are several graph file formats. Many of the formats allow nodes and edges to have custom meta data (properties). As manual map creation in front-end tends to be tedious task, maybe front-end should offload this functionality to external applications and only provide support for some standard graph import/export format. This would require to define additional constraints (on top of original graph format) on graph elements (so Zabbix can map graph elements to Zabbix objects (hosts, triggers, other maps, icons etc.).
I personally use yEd  for drawing graphs and it uses GraphML format (XML), but that's just an example, there are other formats and application too (I used Dia  in the past). Hey, maybe there are even use case for Zabbix supporting Visio's format (I think VSDX was "open").