Instead of depending on client-side JS to copy a shipping address from a billing address, I'd prefer a server-side solution that operates through the #ajax system in D7's FAPI. The other approach has been implemented in, but this issue will be to replace it in the 2.x branch with the server-side approach. This will have the added benefit of working across multiple checkout pages and allowing the Shipping module to alter the forms such that "copied" elements are not visible while fields that differ between the various profile types remain visible.
I realized re-reading the related issue that I never put the specification in writing in this queue. I had talked with bojanz about it in IRC before he posted his first patch I believe, but I obviously never updated it in this queue or did it in the Commerce queue on a separate issue. I can't remember which.