Yeah, a good player could stop it with proper scouting. Against average players I've had a lot of success, though - once they find your main base, they focus tanks and vultures on it and stop scouting other areas. They almost never seem interested in scouting other areas. If you build up carriers in secret on a side base, they don't realize what's coming, and by the time they finish off your main base you have a sizeable fleet.
Of course they'll try to rush your expansion and pump out goliaths and turrets, but by that time it's usually too late. Even a handful of turrets and goliaths aren't going to give 8-10 fully upgraded carriers much trouble, and their turrets and goliaths are going to have simply too much space to cover (all of the production at the original base, but all the minerals coming from expansions). With a bit of skill and using the terrain to your advantage, it's pretty easy to pick them apart.
At least, that's what worked for me. I guess everyone needs to find a strategy that suites them. If you find Terrans to be the best race, play as Terrans.