Is the operation of publishers and subscribers strictly an active/backup relationship? For example, if you have one of each, does the publisher handle 100% of the calls while the subscriber sits in waiting in case the publisher goes inactive?
No, this is not the case. Typically you want your subscribers to handle the call processing and utilize the publisher as your tftp server and administrative server.
The publisher could however handle call processing and you could setup your device pools to evenly distribute your call processing. It is highly recomended to not use your publisher as a call processing agent. You can have up to eight servers in a cluster running the CCM service. I would suggest some light reading of the "call processing" section of the 4.1 SRND guide: