Pretty broad and opinionated question overall....
Define Deliverables Precisely.
This includes who owns what rights to what work and at what time rights may transfer (after full payment). Detail exactly what the client gets for their payment. You may even go so far as to state what they don't get for the sake of clarity. Too often clients assume they get anything and everything they ever see which may loosely be related to their company.
Define Payment Schedule and Amounts Precisely.
Always ask for a non-refundable deposit up front (30-50%). And make it known that payment is due immediately upon completion, or net 15 days.. or whatever you want.
Detail, as much as possible, the work to be done
Provide as much detail about tasks to be completed as possible. In some cases you can use a "scope of work" addendum to a contract to define items per-project. This allows 1 contract to cover the general business agreement, than the addendum to define what is expected for a particular assignment.
Define what "Scope Creep" means.
Along with the above... make it known that you are the deciding factor when something goes above and beyond your initial pricing proposal.
Allow for "Acts of God"
Ensure you won't be penalized if you unfortunately hit something like a serious illness or hospitalization unexpectedly. It is terrible to be under an expensive tight deadline, then have a medical emergency which prevents you from meeting that deadline. Just cover your bases - you may have to return payments and eat your work, but it shouldn't cost you anything more than that.
Include "Kill Fees"
Get paid for your time if the client backs out early or fails to maintain their end of the contract.