Allow read-access to all screen drawning-related memory regions. There are no cure for maphacks and that's primary thing people should fight with. WC3 has been unable to do ANYTHING about them for ages and still nothing changed in that terms. No defense == no reason to play fair == no reason to play at all for those who concerned (a lot). Any hardcoded protection will be evaded week later. Custom protections may live long enough, as they could be unique per each map update.
HTTP(s) interface to send GET/POST data to servers. Should be able to receive the answer as well, handling it as a string. There are no future for custom maps if author can't have any info, feedback about his decisions, as well as providing something in return, affecting game process directly.
Graphical drawning engine on HUD/game level. Currently there are already a few levels of rendering, and, for instance, lightnings are one of those, or images. This engine must support as default primitives a-la circles, rectangles, as converting various BLP/TGA images into custom images to use them.
When used as HUD, it should appear below default HUD. Stretching to screen size perfomed by using %% based offsets for drawning coordinates and auto-rescaling fixed sizes, considering screen resolution/window size.
When used as game image, engine should use it like normal images.
Auto-generate DIS buttons for images if required, but not found. There are 0 sense to waste map's space for such nonsense if it can be generated directly using gray-filter on original image.
Allow local (map) files to override default pre-cached. Add an option to drop all cached models/files as well. Required to be able to replace default landscape graphics inside the single map.
Improve JASS virtual machine perfomance overall. Index natives to improve it's search speed instead of comparing hashes every time. It's fine for custom funcs but natives should definitely use pre-generated array or list, since they're already indexed in bytecode.
Add syncable data transfer mechanism to sync ANY integer/real value between the players, in any reasonable amounts. It may be 10s of integers per cycle, for instance. Receivers should be able to tell who is the source of transmission, and it also should be protected from spoofing.
Add functions to work with hardcoded mechanics of each ability. Pretty much every ability has some hardcoded effects which are usually undesirable. All of them should be at least toggleable at once, better - customizable. For instance Holy Light - allow to select race it cannot be applied to instead of using fixed "Undead".
Add new pathing algoritm with lower cell size to remove issues with computing maps on movespeed 522+. It should be toggleable as well, to use this "2x more precious" map instead of default. Reason - it only needed when there are purpose to use that high speed, if not - normal pathing to reduce CPU usage.
Prolong CPU window for computing pathing as well - currently it get stuck after a few hundreds of units moving, causing most of them to stand still. While it's lagging, players can't act as well. It shouldn't work this way, definitely.
Allow to customize hardcoded hotkeys actions, including complete disable of their effects. Tilda, backspace, space, F1-F5, etc.
Add functions to work with missiles class which is widely used at engine level yet non-existant for coders. Create, destroy, edit properties - everything.
Add funcs to work with minimap pings, accessing it's data and the list of those. Asynced functions by it's nature.
Add funcs to all the wrappers widget may have. Adding true sight vision, removing one, adding silence counter, removing, there are tons of methods for each kind of widget which are unaccessible for mapmakers, yet useful in some ways.
Add all possible setters/getters through widget's parameters, without any exceptions, even for non-trivial a-la game flags or widget's rendering specifications.
Fix memory leaks on BJ level, or add non-leaking functions-alternatives so at least new maps won't suffer of those that much. Add some native which would display counter of non-destroyed objects in memory which is still active and weren't used for a while ("while" may be an argument, for instance, to compare with "last access" timestamp).
Improve map editor - it should be complete copy-paste of NewGen or any other modern editor. Noone of a "real" mapmakers uses default. Ever. Only small indies/newbies.
Allow to bind custom keys to command panel cells, including combinations. Same for inventory. Support right and left click. Allow to edit command panel completely, saving it's state per unit.
That what we can start from.