This can probably only be determined empirically
Because of the wide variation in play styles among both players and DMs, I don't think it's possible to give a general recommendation. The best approach I can think of is the empirical approach: pick a reasonable objective to optimize, and dole out the defense buff based on who has historically been most lacking in that area. The objective should be related in some way to survivability, such as:
- which character gets hit the most (total number of hits, not fraction)
- which character takes the most damage
- which character gets knocked unconscious the most often
Additionally, the objective should be something the ring can influence. In this case you should consider hits/damage/KOs from both attacks and failed saving throws, since the Ring of Protection affects both AC and saving throw modifiers.)
Let's say you choose the first one. Now ask: among the party, who takes the most hits in practice? If the tank with 17 AC is doing a good job of soaking up attacks, maybe it's them. If the tank is not doing a good job, or if the party has been frequently put in situations where the tank is unable to do so (e.g. swarms of enemies or big AOE spells), then maybe the squishy caster is taking too many hits due to their low AC. Maybe the 2 characters with the highest AC (16 and 17) have both ended up tanking equally, but the 16 AC character is getting hit more due to their lower AC, and they need the buff most. You don't actually need to count up every hit in every past fight; you probably have at least a vague sense of the answer without having to do so.
In summary:
- Choose the empirical statistic you most wish to optimize.
- Decide who is doing the worst in this statistic, and give the item to them, since they need it most.
I believe this will have the greatest impact because ideally, you want to spread out incoming damage exactly in proportion to each character's hit point maximum (i.e. the opposite principle from focusing one enemy down at a time). In the most ideal case, if damage is spread out so that every character takes 99.9% of their hit point maximum (rounded down) in damage, they will all still be standing while having taken the maximum amount of damage possible. Shoring up the defenses of whoever is taking too much damage gets the party closer to this ideal case.
Lastly, I'll note that this all assumes that future combats will be similar to past combats, since you are using past combat performance to make a decision that will affect future combats. If you have reason to believe that future combats will be substantially different, then you will need to adjust accordingly.