Hey Dan,
The challenges with international sites are many and varied. The 'best' international strategy really depends on your resources
Here's how I see the advantages / disadvantages of each approach:
Subfolders - ranking may be 'easier' as domain authority is consolidated, but URLs are ugly
The sub-folder approach is often utilised where there's insufficient resource to market and maintain separate international ccTLDs (e.g. .co.uk, .com, .fr etc). The advantage with the subfolder approach is that you're consolidating domain authority - so the links to /en-uk/ (NB do use en-uk NOT en-gb incidentally) pass authority to /en-us/ and vice versa.
You're building one strong site, rather than trying to build two, three (or more) strong sites. However, as you've identified URLs get long and a bit ugly.
ccTLDs - Arguably nicer for users, but might not rank
Conversely, whilst ccTLDs (.co.uk, .com, .fr etc) are nicer from a user's perspective, you may struggle to rank if you're not able to spend sufficient time and resource on marketing and building links to these domains.
If you have the time and resources, I'd probably go down the ccTLD route, but if you don't, then the subfolder route is probably best.
IP redirects
In terms of the IP sniffers etc - be careful
Googlebot typical crawls from the US, and as such is likely to be redirected by your sniffer too. Essentially you're in danger of making any non-US versions invisible as far as Google are concerned. For that reason rather than doing a hard redirect I prefer Amazon's approach - if you visit Amazon.com from a UK IP you'll see a message which says: "Shopping from the UK? Visit Amazon.co.uk.".
That way users get the nudge to direct them to the right site and the bots can still crawl and index all of your content.