How do I specify the default install path of an msi in cx_freeze and distutils?

Distutils is rather limited in functionality when it comes to creating installers. I would suggest you use NSIS instead. Its quite simple and lets you customise a lot more than distutils.

The other way would be to manually add --initial-target-dir to the argument list in setup.py (before calling the setup function):

if 'bdist_msi' in sys.argv:
    sys.argv += ['--initial-target-dir', 'c:\default\path']

It appears that in the current version, adding the following to your setup script provides the same functionality:

setup(
    ...
    options={'bdist_msi': {'initial_target_dir': 'C:\\alternate\\start\\path'}}
    ...
)

Note that it requires the backslash, not the forward slash.