Competitive Cyclist has a fit calculator,
http://www.competitivecyclist.com/Store/catalog/fitCalculatorBike.jsp, that is pretty comprehensive, but given your leg length, is likely to spec out a bike with dimensions that would only be possible in full custom. You'll have to decide whether you want "French" fit, "Eddy" fit, or "competitive" fit, too. French is trad 50s and 60s race posture, Eddy lowers and extends the bar for a flatter back
a la Merckx and Moser in the 70s and just about everybody in the 80s. Competitive fit drops the bar more and brings it in, the way racers have been sitting for the last decade. I'm pretty much an Eddy..
Another possibility would be to consider a bike with similar head tube height as the M/L Giant but a shorter top tube. I'm thinking specifically of a 56 cm Trek Emonda or Madone. Also, a comfort, ahem, endurance, geometry could get you a shorter top tube and a taller head tube. I'm thinking here of a M/L Giant Defy or 56 Trek Domane.
Consider your arm length, too. Long arms generally indicate that you can reach lower and farther out, but mostly lower. I'm on a 58 Madone these days, with a low-angle 12 cm stem slammed. Long arms.