Well, there's your rotation upgrade. The Pirates have apparently agreed to terms with Francisco Liriano on a two-year, $14 million deal. (UPDATE: It appears a little less than $13 million is guaranteed.)
There are a number of amusing details here, like the Twins taking Kevin Correia while the Pirates take Francisco Liriano, or the Pirates passing on Jeff Karstens due to his health and then signing Francisco Liriano to a two-year deal. I'll take them. Liriano is an extremely risky pitcher, having gone through a ton of injuries and just about every type of inconsistency in his career. But he's also very high-upside for a free agent in the Pirates' price range -- he was six (!!!) wins above replacement as recently as 2010, he struck out 9.59 batters per nine innings last year, and he's only 29.
There are a lot of working parts here. One is Liriano's health. Another is his velocity, which tends to come and go (he was at 93.7 MPH in his excellent 2010, then down to 91.8 MPH in 2011, then back to 93 in 2012). A third is his control -- he walked only 2.72 batters per nine innings in 2010, then was back up to around five both of the last two years. Five batters per nine innings is, of course, way too many.
The potential for a flop here is great, but even that makes some sense given the Pirates' situation. They'll put Liriano in the rotation for the first couple months of the season. If he gets hurt or is struggling in June, the Bucs might well be ready with Kyle McPherson and Gerrit Cole by then. And in any case, I'd rather focus on the upside here rather than on the downside. Liriano has the talent to be one of the Pirates' better starters. This could easily blow up in the front office's face, but given the types of players usually available to the Pirates on the free-agent market, it speaks well of the Bucs that they were willing to roll the dice on a guy who at least has the potential to be really good. That sort of potential isn't usually available on a cheap two-year contract.