How your UV map is arranged depends on your texture, in some ways. You have to keep in mind that if you're using a texture with a pattern all of the UV islands that will use that pattern have to be sized relative to each other. For example, if the ribbon and bow are using a pattern and the bow's UVs are much larger than the ribbon's UVs the pattern will be different sizes. You can check how a pattern looks on your mesh while still in Blender and the nice thing about this method is that you can move or resize your islands and see how they look on your mesh in real time.
Here is how to add a grid in the UV editor to use it as a guide for your UV islands' size and/or location. Or you can use image > open image and add a texture into your UV editor that way.
Other things to consider:
1. If you're stacking UV islands but want to bake an ambient occlusion map and if the mesh parts are located on different places on your mesh your AO bake won't turn out well. You'll have to keep your UV islands unstacked.
2. Depending on your texturing needs, you can make some UV islands bigger or smaller than others. My comment about patterns apply here. If you're just using a plain color the size of the island doesn't affect things much.
3. You can split up your UV islands but keep in mind that wherever the edges of your UV islands are located Studio will split those same edges in your mesh. You could end up with sharp edges that you don't want.
4. The only way to make the game use a larger texture is if you're using
the HQ mod. This mod will double the texture size. There are downsides to using this mod, however.
You're not the only one who's struggled with wasted UV space. It's an issue for me, too.