Here's some other things we could do:
1. Trade Gordon for a SP or CF and let Callaspo/Aviles/Fields duke it out for the job or a platoon. The downside is that Gordon may not net anything better than Gardner or Pie.
2. Offer Brian Giles a major league deal. He wouldn't cost much and could possibly net us something at the deadline. If he can bounce back (I think he will), RF is solved.
3. Guillen DH's for Betancourt on Greinke starts. I'm serious, a happy Zack is a good thing and I could care less about Yuni's feelings.
4. Use Hoch and Davies as relievers. I know this has been suggested but I mention it because it's an important move.
5. Bat Jason Kendall second. He will be the most useful when he has the opportunity to move runners (but I will refrain from making a "too bad he plays for the Royals" style joke).