Your allocation of nights is not what I would do, as your plan is really Rome-heavy. I don't know if this is you first time in Italy, but you could consider the following for your 15 nights on the ground and including only the locations you mentioned.
Venice 3 nights (with day trip to Murano and Burano islands)
Florence 5-6 nights (with multiple day trips in Tuscany, e.g. Siena, San Gimignano, Volterra, Pisa, Lucca, Arezzo, Chianti hills, Pistoia, and many more, including Bologna, in Emilia)
Assisi 2 nights
Rome 4-5 nights (with day trips to Orvieto, and to Pompeii or Ostia Antica)
You can adjust some nights up or down, but this plan will give you the opportunity to see more. Florence itself can be visited in 2-3 days, but it's very strategically located as a base for a lot of important tourist locations like the ones I mentioned in parentheses above. Also try to avoid one night stays, which are a time waste (all those checkin and out) and not relaxing. If you go to Assisi, spend two nights.