That's what I said in 2021, thanks to the user above who found and liked my post 😁
Before I go on, I would like to CLARIFY FOR EVERYONE WHOM IT MAY CONCERN that peer-to-peer communication is possible even WITHOUT port-forwarding. Anybody who is basing their actions and policies by claiming otherwise (lying, deceiving or due to incompetence) is a fool who should look for a new job. I make no statement about the quality of service with vs without it.
I agree with Oblivion's solution the most. While using dynamic ports would slightly degrade persistence, it's a great opt-in for the users who can use automatic dynamic port-forwarding. AirVPN already reserves ~1024 (1024-2048) ports in the non-administrative range for something. However he is right this is a really ugly can of worms to implement and support due to various specifications, their versions and implementation bugs.
I understand the "city idea" of following Mullvad but I believe it is a bad idea. Not only due to load balancing as mentioned above (great point!) but the increased demand of the users to track and understand this. Further, in some cases you want the clients to switch servers... sometimes.
An improvement over the city-clustering would be per-country clustering, which would follow geographical separation pretty closely. Almost nobody from Americas, Europe would want to use Asian servers for port-forwarding, for example. There may be some from NA willing to use Dutch servers, but as far as Europe is concerned, there are always backup choices in geographical proximity. The DNS names already follow all that structure.
This can be refined with cluster-based and/or per-country separation, lets say 4 servers end up in one cluster for load-balancing and get the same DNS address: nl-cluster4.airdns.org. This is even harder to grasp than the per-city definition and eventually as servers are moved and replaced, some clusters will wind up empty and need a reshuffling of servers and users.
If a user is free to choose a port, nothing prevents port-clashing at a global scale (when the user wants to use the same port across clusters) but this could be softened by limiting port choice globally to only 2,3... users at a time and indicating this in the UI. This, again, is ugly.
Multiple Exit IPs is in Air's management hands, only they can comment on viability.
IPv4 vs IPv6 makes absolutely no sense. You can't compare IPv6-only servers, because they are servers vs mostly residential use-cases of a VPN where the overwhelming majority will want dual-stack as an option. Or would you like to have two different ports for IPv4 and IPv6 for the same application? This is what it leads to. How many applications would support divergent ports in a dual-stack config? You can start counting and I'd be surprised if it could not be counted with fingers.
That's because they have a heterogenous infrastructure, whereas Air has equal requirements towards all servers, their locations/providers. I hope you understand what I mean by that beyond Air's legal analysis of each countries' laws for surveillance.