Since you plan to rent a car anyhow (and rightly so, since you'll need one in SG area), I would rent it in Rome and drive from Rome. That will give you a chance to leisurely stop along the way to visit places in Umbria/South East Tuscany. Or you can drive straight non stop and be at your SG accommodations in just over 3 hours.
If you take the train to Florence, first you need to take a taxi from your hotel in Rome to the station. Then get on a train with your luggage. The train ride is a 90 min. journey (the full base fare is 45 euro in standard class). Then, once in Florence, you need to walk (with your luggage) to Borgo Ognissanti (10 min) to pick up the car (or take a taxi for about 5 min but more money). Once you stand in line and get your car, you need to find your way out of the city to reach San Gimignano (that's a 2 hours process before you are in San Gimignano).
If you rent in Rome, all you need is a taxi to a rental car location (Tiburtina station is easy to get on the freeway, but there are others that are just as easy). Then the drive is mostly freeway, unless you want to take a more scenic route for part of the trip.
But, as you can see, whether you rent a car in Rome or in Florence, you need to drive in a major city regardless.
An alternative to avoid big city driving would be to take a train to Chiusi, then rent a car in Chiusi and drive from Chiusi to SG.
To go from SG to Venice, I'd drive to Venice (Piazzale Roma). I wouldn't bother to return the car in Florence and take the train. The prospect of driving into Florence scares the c*rap of most Americans.