I disagree on T&M. Billing by the hour penalizes those that have developed the patterns and skills to go faster. Fixed price is the only way to be better than the other firm and have that lead to an advantage on your bottom line.
Again, the question was: There are too many unknowns. The answer is T&M. Btw, they can be combined. Fixed price on the knowns, and T&M on the unknowns.
Put it this way, I've seen 5x more fixed price projects go sideways than T&M. That's how bespoke work works best.
To get in a price battle with another bottom feeder for a project with too many unknowns (and likely a client with higher-than-budget expectations) is a classic fool's errand.
We all know the rule:
Fast. Cheap. Right. Pick two.