Insufficient channel capacity of 1GBit
Does a Balancer need a band equal to sum of all bands of Caching Servers? What shall we do in case there are no ports in a Balancer?
Yes. Add bigger pipes or use CDN geographical load balancing.
Should we add more Balancers or solve the problem by means of Round robin DNS?
This is actually the same solution. You add more balancers and insert them in round robin DNS. Or as I said before, the smarter alternative is to use geographical load balancing.
What are the standard approaches to such problems?
Use a DNS that will answer with the closest server to the user and put such servers around the world. This has other advantages such as giving a low-latency experience to your users.
Can anyone advise hosting-companies, which can solve this problem? We are interested in American and European markets.
For geographical DNS load balancing, you should google it. You will need higher-end DNS service but you should be able to find it. In Europe, you should definitely have a look at OVH which has a really big network and can supply you with multi-gigabit bandwidth. For the US, I don't know.
Yes, the load balancer should be able to handle all the accumulated traffic from/to all servers. So, I would recommend using a load balancer with one uplink of 10Gb and other 1Gb ports connected to several caching servers. A hardware load balancer can be more efficient to handle such huge traffic.
Your limit will be 10Gb as a maximum assuming the load balancer is able to handle all traffic without problems.
The load balancer can also check the servers health before directing a request to any server which provider higher availability.
A suitable load balancing algorithm has to be chosen to avoid caching duplicate and to present the right data to the right user.