First I have to say I find it a bit difficult to answer since your question actually consists of several questions – and on the other hand you're suggesting answers yourself that in my opinion are all valid.
When thinking about a geo- or country-related URL strategy it's difficult to come up with the right solution. Every option has its advantages and its disadvantages. To be a bit more specific:
Solution 1: only very few people actually switch between country specific pages – especially when the country is bound to the TLD. (That is at least what we found out when a couple of years ago i was working for a large media company and we did some research about the users – only about 2 percent switched the 'region'. And once they switch, they hardly ever switch again.)
Solution 2: looks totally ok to me – would be my personal favourite – very similar to Soluiton 1. Advantage: virtually unlimired regions/languages since you're not bound to TLDs. Can be handy when you have to deal with multilingual countries.
Solution 3: this is probably the 'cheapest' and most flexibel solution. If the site's differ a lot I wouldn't recommend this approach. But IMHO it is basically just as ok a solution as 2 and 1.
Forwarding: in my opinion forwarding is never a good idea. It breaks the atual yuser interaction and forces the user to accept presets he/she didn't choose. There may be reasons why a user has decided for a region/language that does not correspond to his/her IP address. For example:
Beeing on a holiday or business trip the user is accessing the website from a 'foreign' IP address – maybe even from a public access point like an internet cafe etc.
Some companies run their own networks – all IP addresses correspond with the headquarter but not with the actual user location
Some users may be using VPNs – their IP address would have nothing to no with their actual location and language preferences