Changing the layout of user profile edit page
I had to do this in the past and I went the module route.

Using Display Suite, Renderable Elements and Field Group I was able to fully change the layout of edit forms.


  Display Suite allows you to take full control over how your content is
  displayed using a drag and drop interface. Arrange your nodes, views,
  comments, user data etc. the way you want without having to work your
  way through dozens of template files. Screencast
  
  Renderable Elements enables you to register any forms and manage the
  display through an UI. It will also make (additional) elements
  available of existing entities on the manage forms/display screens or
  you can for example register the contact form and rearrange the fields
  through Field UI. Screencast
  
  Field Group will, as the name implies, group fields together. All
  fieldable entities will have the possibility to add groups to wrap
  their fields together. Fieldgroup comes with default HTML wrappers
  like vertical tabs, horizontal tabs, accordions, fieldsets or div
  wrappers.


Edit: Also using Display Suite, you can add different views or blocks directly as fields to your node. So pulling fields from other entities shouldn't be a problem if you are good with views.