The first thing that pops in my head is to use the
distance_to() method between all the characters and then base the camera distance off the characters that are furthest away.
var A = Player1.distance_to(Player2)
var B = Player1.distance_to(Player3)
var C = Player2.distance_to(Player3)
var far_characters = max(A,B,C)
Camera.look_at_from_position(Camera_position * Vector3(1,1,far_characters), target_look_location, Vector3(0,1,0))