Are there any advantages to still using crossover cables between newer switches which support mdix auto?
is it best practices to hard code speed and duplex on
switch to switch ports to eliminate potential problems in auto-negotiation?
Not necessarily. Gigabit is often best left to auto-negotiate. 10/100 interconnects in the past i have tended to hardcode speed/duplex. But obviously if you are using mdix you can't anyway.
Yes. If you want to hard code the duplex and speed, you will need to use crossover cable. Hence, hard code duplex and speed will turn off auto MDIX.