I wonder how much 'plausible deniability' [..] for a given Tor user at a given site, at a given time.
You might be the only one using a relay for your exiting traffic at any given time.
E.g. if two Tor users with the exact same browser fingerprint [..] perhaps they are 100% indistinguishable
If it's the exact same publicly accessible site the two would be identical. Distinguishable perhaps by observations of their session behavior (sub-domain selection for example). Maybe the same person, definitely using Tor.
How many 'peers' will be served by the average exit relay at any given time?
The average exit relay can also be a middle-node and guard for someone at a given time.
Are there multiple Tor users using the same IP (on the same site) at once, and if so, how many does it tend to be?
It would require exits to track the type of traffic they relay and disclose the data. If you know, for all exits, the traffic they relay (from their exit policy), and the amount of traffic is exiting traffic (out of all traffic). If you could say with certainty that all exiting traffic on an instance of a circID came from n-peers. If you could correlate this data into an interval of size 'any given time' you could provide such an average. Alas, such is not the case.
During your use of Tor it depends.
- on how many exits you know about
- on the subset(s) (n-)length of exits which can handle a particular request-type
- on the likelihood that you make a particular request-type
- on the predictability of circuit failures for some type of exiting traffic
Exits are chosen randomly from those discovered by your client during bootstrap. When your Tor client has some traffic to relay using Tor it first looks at the existing circuits for an exit which can handle your request. If such an exit doesn't exist it chooses an exit from the descriptors you know and, having checked the exit policy, builds a circuit with this exit as the edge node.
The circuit may fail if.
- the exit can't handle the request due to load (maybe ISP throttling)
- the exit decides to drop your traffic
- the exit is itself being censored
- the target site blocks the exit as a source ip
A user of Tor at any given time.
- chooses an exit randomly from the ones you know about and suspect can handle a request
- cannot predict failure rate for unseen intervals
- can reflect on historical data for failures
I am assuming that [..] users sharing the same IP, especially if all coming from different middle nodes, is a good scenario for Tor user anonymity, and 'crowd anonymity'
More sharing of each node is good. It makes your adversary work harder, and position themselves better, to identify individual users of Tor.