Very good itinerary, busy in the middle though, and as Adam said, travel times is eating a lot of time. And energy. It's exhausting in fact, so I'd suggest a slight change to save one or two days: try flying from Florence to Barcelona with
ryanair. There is a Pisa-Girona flight, which is indeed the Florence-Barcelona stretch. It is unexpensive and you won't have to go all the way through Lyon.
Or, since I love Eastern Europe, I would highly recommend you continue further east, to Poland, Hungary, or the ex-Yougloslavia, and skip Italy and Spain.
Voilà!
And welcome to travelpunk !