Is there a way to have the unwrapping function not rearrange islands?
Yes - to some extent, you can pin UV's to control the placement of each island.
To control the scale and placement you only have to pin 2 uvs on the island, to control the overall shape better you may want to pin 4 or more.

See docs on live-unwrap and pinning, older wiki docs but still valid