Given your touring plans, I'd definitely suggest adding a few days if possible. If you haven't already bought your air tickets, you might also consider flying inbound Florence, as that provides a very convenient base for touring around Tuscany. As others have mentioned, using open jaw flights is the most efficient method, so if possible you could fly outbound from Rome.
The weather in March could be a bit "inclement" with cool temperatures and rain, so cycling and hiking may not be the most pleasant activities. I've been in Tuscany as early as April, and the weather has been "mixed" with both rain and a bit of sun. It might be a good idea to plan some indoor activities also.
I'd suggest decreasing your time in Milan and adding it to Rome. If you've already bought air tickets, you could also go directly from MXP to Florence by train and start your holiday there.
One other point to mention. There are some potentially expensive "caveats" when using trains or other public transit in Italy. If you need further information on that, post another note.
Happy travels!