Is ICANN even needed ?
How to remove the need for ICANN
Effectively all the IPv4 addresses have already been assigned. Allocated IPv4 addresses would become the property of their current owners and could be traded (or sold as assets in a bankruptcy).
IPv6 has so many addresses that assigning a 2^64 address space to each country (over 4000000000 times the size of the total IPv4 address space) would barely touch the total. These assignments would be permanent. If new countries are formed then a new 2^64 address space would be allocated to the new country.
Assign the country designators (e.g .uk for the United Kingdom) to their governments to assign.
The existing non-country designators (e.g. .hotel) would become the property of their current owners (or registrars).
Requests for new non-country designators could be handled by a small subgroup of the ITU. Once assigned then the designator (e.g. .space_hotel) becomes the property of the owner - no longer the responsibility of the ITU.
If the above was done then there would be no further need for ICANN