I have no opinion about this being bad practice or not - IMHO you are right and negotiation can happen at any time. On the other hand, since the times of the 10/100-Adapters Auto Negotiation in IBM...
Proper fix is to get rid of "Auto negotiation" at both the Server and the Switch Port and positively set the line speed. Then cold start the Switch and then the Computer.