How to ensure the order in which functions and workflows are run on record creation.

How to ensure the order in which functions and workflows are run on record creation.

Hi there,
We have multiple functions that occur when a new record is created.
These functions are each run from separate workflows, as each workflow doesn't allow multiple functions to be run from the 1 workflow call.
Some of these functions require other functions to be run first in order to operate correctly.  A scenario:
Workflow 1 determines whether a tickbox should be ticked.
Workflow 2 does XX action IF the tickbox is ticked.

Both workflows are called at time of creating the record.  

Even though i have re-ordered the workflows, to have them in an order that they should be run, we still see instances where Workflow 2 runs before Workflow 1, and therefore the action in Workflow 2 is not taken (because Workflow 1 hasn't ticked the box yet).

How can we ensure that each function/workflow occurs in a specific order?  
Would we need to incorporate all of the separate functions into 1 long deluge function that is called on creation?  (i'd prefer not to do that, because that makes future change very difficult).