Try using Blender to Average then Pack your UV Map. When averaging, it fairly distributes texture space to each surface; and when packing, it fits all the islands into your texture.
For a good quick tutorial on UV Unwrapping in Blender, check out this video from Blender Cookie. (It applies to the latest versions of blender)
Here is a screenshot of a silly cow I made, which gives you a rough idea of UV management in Blender (its not too difficult) (Bigger Version)
I've circled in red the little corner you have to drag to pull out a new panel. After doing so, click on the little box next to the corner you just dragged, and click on Uv/Image editor. If you see a rectange-ish image, click the little 'x' next to the 'Render Result' text that shows up at the middle bottom, where you can see 'CowTex' in my image.
Then click on your cow in the 3d view, tab to go into edit mode, and press A to select all your faces. You should be able to see your current UV layout in the UV/Image editor panel you pulled out.
Then, like I mentioned before, Average and Pack your islands by either using the toolbar lik you see in the image, or Ctrl-A and Ctrl-P. Blender also has a few other ways of helping you with your UV layout, such as iteratively optimizing it, which gives you great results if you give it time.
An advantage of using Blender over other commercial UV solutions is that it is free and open source (in addition to possibly being better than those solutions).
Good luck! :)