What’s the best way to create a new design for other pages?

You can create template files named front-page.php and home.php, which will be automatically loaded. See the Template Hierarchy for details.

You can also set up different headers for different template files. For instance, if you have a Home Page template home.php, you can have a separate header file loaded in it.

In your home.php file, you can pass a parameter to your get_header() call — for example, get_header( 'home' ). This will look for a file named header-home.php, and load it if it exists. Failing that, it will load the default header.php file instead. You can do the same with your get_footer() and get_sidebar() calls.

Codex Pages

Template Hierarchy
get_header()
get_sidebar()
get_footer()