This is a common problem. Create an empty GameObject, make your model a child of it, rotate the model so that it is orientated correctly. Attach the controller script to the (used to be) empty Game Object and move that instead.
I grouped my mesh and biped in Max, rotated them so that the Z axis points up, the Y axis extends out the back of the character and the X axis points down the right arm (facing you).
I then ungrouped them and exprted as a .FBX file keeping Z-up in the export options.
This seems to have eliminated the need to parent the model to an empty gameObject and rotate it inside.