For example, Google has over 500 IP address, yet only around 20 data-centers. How can this be.
You seem to have a Fundamental Misunderstanding of How The Internet Works. One datacenter houses many servers, and typically has many IP addresses.
IP addresses are not like postal addresses - they can move around (through the magic of BGP)
From what I have read, a typical (huge) data-center will have 1 global uplink, a router, and a main switch. Each cluster is hooked up to the main switch. In the cluster is another switch (its uplink leads the the main switch) which each node is connected to. Is this correct?
What you have read is grossly incorrect. Any datacenter worth hosting in will have multiple uplinks (multiple physical connections to multiple providers - either networks they're buying transit from or peers).
Core switches and routers are typically configured with at least failover-pair redundancy.
Access switches (what the servers plug in to) may be redundant in other ways (the two common ones are each server connects to two separate access switches with separate paths back to the core, or you have two servers each connected to a separate access switch with separate paths back to the core)
If a website is running off a huge cluster and the upload speed is the bottleneck, can you have 2 or more uplinks running to one cluster?
This question makes no sense in the context of how internet traffic flows. You need a better understanding of routing - short version "Traffic follows the shortest path from A to B. If that path is congested the traffic will be slow." - There are more magic things that can be done to reroute traffic around congestion.
Regarding the endpoint server, there are ways to trunk or bond ethernet connections to give individual servers more bandwidth within the datacenter. This is often not useful for increasing speed because the bottleneck is usually out on the internet somewhere...
You are also abusing the word cluster (what KIND of cluster matters).
Also, IF you have multiple data-centers for one site, can you configure FTP and other similar applications to upload to each center?
Short answer: No.
Long answer: Look into distributed filesystems, remote-site mirroring (replication), and geographical redundancy in general.