I only post garrisons in ports of reasonably high supply throughput, victory locations, and in some cases, the more significant resource or strategic effects provinces. A Level 1 port can't supply a major landing, and it's not worth wasting a unit to defend when a single reaction force can cover multiple ports. If you place a small garrison as a delaying action, you'll still need that reaction force. If you don't, you may need a larger one since the attacker may bring in additional forces before you can respond.
GAR only gets overrun if the enemy reaches the province it's retreating to before your reaction force gets there, and manages to hold it until the GAR arrives. Since a GAR takes pretty close to forever to reach the next province, you've got plenty of time to not only get a reaction force there, but take it back from the opponent if necessary, before your GAR arrives. I've had good results from 2xGAR+AA, or with just 2xGAR if I'm not facing heavy air attack. In the more critical ports, I may either add an INF division as well, or place individual GAR brigades on either side of the port, to avoid being outflanked and surrounded. To me, AT is a waste in port defense, because enemy armor will get a massive amphibious assault penalty if it attacks the port directly, more than offsetting your disadvantage for failing to pierce their armor. I can bring an INF unit with AT to support the defenders long before an enemy armor unit breaks my GAR.
You don't really need 4 techs for GAR. You aren't going to attack with them under almost any circumstances, so raising Toughness is a waste, and AT can be ignored in most cases (unless a human opponent is going armor-heavy). That leaves 2 techs to research, and the lower officer ratio (roughly 1/3 that of INF) should free up enough Leadership from Officer Ratio to use on those techs anyway, if you're producing any quantity of them. They use significantly less supplies, slightly less Manpower, and a lot less of the aforementioned officers, yet defend almost as well as INF. MIL are weaker all around, but cheaper still, and a supporting ART brigade can turn them into a semi-respectable fighting force, but boosts the cost to that of GAR or higher. Possibly their best use is by placing two 2xMIL in a port, since two divisions generally makes the AI think it can't assault successfully, so it won't even try.
If I'm trying to hold a port that's well away from the normal area of operations of my airforce, I'll sometimes add an AA brigade. I had a 2xGAR+AA division hold out against repeated landing attempts and regular bombing attacks for over 2 months (the AI obviously doesn't know how to conduct a serious landing attempt), until I managed to bring in a pair of NAV and INT groups to hit the ships conducting the operation. That eventually led to them heading back to port, mission failed. Adding an AT brigade does nothing for the unit's Soft Attack value, so unless the enemy uses armor, the AT brigade adds NOTHING to the defense besides soaking a few hits.