The solution is for the ISP to fix their misconfigured NAT.
The solution is IPv6. Then you don't need your ISP to maintain a stateful connection table.
Nothing stops you from filling your car with orange juice either.
Filling your car with orange juice presumably stops it from working and is likely to cause damage, all while your parents question where things went wrong.
1. Just stop making new connections until some ports are freed. That'll make people happy...
2. Kill the connections that have least recently seen activity even if they have sent/received packets within the usual timeout.
3. Kill the longest running connections that aren't from a whitelist of target ports like 80 & 443 (P2P and VPN systems will just reconnect, the user will hopefully see no more than a short blip SSH will not fair so well).