90 minutes to checkin at MXP is more than enough time. Even if security looks jam-packed there (which it can get at times), security processing for non-U.S. flights is very fast. If you have access to priority check in, I'd say getting than 60-75 minutes in advance of the flight is enough (though do allow for hiccups in transportation) so arriving at 6 is enough time.
Bus is cheaper than train, and if you are staying near the main rail station the night before departure, bus is more convenient. Commuter traffic is also the other way so less lightly to get stuck in traffic.