the main drawback of load balancing between peers is that squid never tries to determine how much of bandwitch left on other parents, just query first one. IMO besides connect-timeout there should be use-band option, allowing squid to not use certain parent if there are connections pending to it using x of bandwitch. this would introduce true load balancing, as number of connections isn't good measure.
in addition parent cache can occassionally return it's bandwidth report , and databases could hold ping reply times and troughput to sites (servers) as 'cost' . -- --