In the connection between the two switches, when the negotiation fails, why is the side on "auto" not set to the minimum possible?
Solution 1:
The ethernet specifications leave it up to the switch manufacturer to determine the speed when auto-negotiate fails.
If I remember the wording of the specification correctly is says something like "if auto-negotiate is not possible the interface should select a safe value for speed and duplex settings".
One manufacturer decides that "safe" is the lowest possible value the interface supports, the other decides that is is the highest value.
This is all according to specifications, but it leaves you with an unsatisfied feeling...
But consider that there isn't a real safe value that always works!
10 Gb/s interfaces often can't go any lower than 1 Gb/s.
There are also many 1 Gb/s interfaces that have 100 Mb/s as lower bound.
So the only real alternative would be a much better negotiation mechanism that always is able to figure out a common speed. (And maybe gives a visible indicaton, like a red LED, if the 2 connected interfaces are really incompatible.)
It would have make ethernet interfaces far more complex and costly to design and make and the manufacturers were very much against that.
Back in the day when ethernet was standarized it didn't make it into the specifications for ethernet.
When the problem became more obvious, due to newer ethernet standards with more speed variants, it would have been doable to add such a feature to newer ethernet variants, but that would possibly cause issues with backwards capbility.
You would actually need to implement 2 auto-negotiation mechanism (old-style and new-style) and a 3rd mechanism just to try to figure out which one to use on any given connection.
So we are still stuck with that problem some 40+ years later. (Yes, first versions of ethernet are that old.)
Solution 2:
3750 switch ==> auto , 2950 switch ==> speed:100 Mb/s , full duplex
Generally, you should never configure one side manually and leave the other side on auto - that very reliably produces a duplex mismatch error when the manual side is on full duplex. The auto side fails Autonegotiation, causing it to fall back to half duplex. A link with a duplex mismatch seems to work somewhat but performs extremely poorly.
You should leave Autonegotiation enabled at all times. It works extremely reliably in almost all situations. Additionally, Gigabit Ethernet and faster require Autonegotiation.
In one of the very few corner cases that it doesn't work as desired, always configure both sides in the same way.