Give each table one primary responsibility
Overloaded tables are one of the fastest ways to create migration churn and unclear ownership.
Separate identity data from workflow state and from reporting concerns.
If a table needs too many unrelated nullable fields, it may be hiding multiple concepts.
Use supporting tables instead of stretching one table to fit every product scenario.