Just a random thought to solve this:
How about adding 1 extra zone to each side of the Arena. (so two in total) Each enchantment in zone 1 could be linked to mage 1 and vice versa for zone 2.
If you don't like these zones you could of course still use the current method.
Since you already have a way to automate zone enchantments I think it's not extremely hard to automatically link every enchantment in a particular zone to a particular mage.
Problem is irregular maps, and multiplayer maps.
We already have code that assigns default card locations for players, and it is rather long and ugly. This would require coming up with a system to assign a mage enchantment box based on the number of players and the shape of the map, which would likely add length and ugliness to the existing code.
I suppose one compromise is allowing players to attach enchantments to the mage stats card, since that is off the board.