I'm studying abroad in Florence this summer and I'm trying to decide on the best layover option (flying from NYC). I've narrowed it down to Frankfurt via Lufthansa, but I'm paranoid about delays...would a 2 hour 20 minute layover be enough time? Or should I opt for 5 hours instead?
Typically, an hour is already enough in Frankfurt.
However, there can always be an uncommonly long line or some other issue, and then two hours are better.
Your main concern should be that LH typically doesn't wait for connections, and those are often delayed. As a result, your next leg might leave before you ever get there. On the other hand, there are multiple flights to Florence, so it depends a bit on how bad it is for you to arrive some hours later.
I would recommend the two hours choice; you should be fine for 99%.
Should be plenty. Make sure that you have this booked on a SINGLE BOOKING and a single ticket. If it's a single booking and you can't make the connection, the airline will simply put you on the next available flight. Lufthansa has six non-stops from FRA to FLR per day with the last one leaving around 9.30pm.
If it is two different tickets and you miss your connection, you are on your own.