Your server C is configured with the gateway and dispatcher of server A. So when you generate a cube on server C and publish it to server A, a package with datasource connection to the *.mdc file. The location of this file can be configured in transformer to be anywhere on your network.
I see a few options:
generate the cube directly on a directory on server A. when you publish the cube (1st time) the location is correct. BUT your server A is the single point of failure. When server A is down. You must then use the gateway URL on Server B and have all the cubes on that server as well. AND the datasource connections of your cubes are all pointing to server A… That is a lot of work. of course you can use swap cubes or another script to change the datasource connections to the cubes on server B.
Use a network share or NAS/SAN to store the cubes. It is most likely fast and has close to 100% uptime. When a server (A or b) is down it is still pointing to the cubes on the network share or NAS/SAN location.
in my opinion option 2 is much easier to administer.