Customer support depends on two things: people skills and tech skills. Because of the nature of the job and its pay levels, you often cannot find all-rounders, so you get the best specialists you can attract in these two fields, and try to mesh them. In an office, you can balance the two in real time; remotely, this can be more difficult.
Google has bad customer support because they simply don't want to put in the necessary manpower. Customer support scales much less than linearly, and to effectively support billions of users, you'd need hundreds of thousands reps, which would dramatically change the internal politics. So they just say "f*ck it, we'll do the minimum required by direct-revenue-generating services just to avoid getting sued, and everyone else can google their way out, for what we care."
Google has bad customer support because they simply don't want to put in the necessary manpower. Customer support scales much less than linearly, and to effectively support billions of users, you'd need hundreds of thousands reps, which would dramatically change the internal politics. So they just say "f*ck it, we'll do the minimum required by direct-revenue-generating services just to avoid getting sued, and everyone else can google their way out, for what we care."