Rule #1 is the contract is there to make both sides of the contract happy that their interests are taken care of.
If you don't feel your interests are taken care of, don't sign the contract.
If you don't feel the other party interests are taken care of, DON'T SIGN THE CONTRACT. In my experience, whenever the first rule is not met, one side of the contract will not be happy. Good, long term relationship requires both sides of the contract to be happy with it. Don't waste time on business relationships that are broken from the start.
If the other party says they put this or that because legal needs it or because it "is a common practice", explain the above ("the contract is there ...") and if they can't understand it -- don't sign the contract. People will not want to change their standard contract because it is a hassle (it has to go through legal, etc.) but will frequently do it if you present reasonable argument.
If you know FOR A FACT that stuff is not enforceable, it is up to you how much you want to risk. If it is written in the contract it will pretty much fall on you to defend yourself and it may be long and costly. You should probably not sign the contract.
Understand, what it is they are buying from you. Are they buying 8h of your time every day, or are they buying 24/7, your soul and your family? If demand more than you are willing to sell -- don't sign the contract.
What if they pay you flat a flat rate regardless of how many hours you work and allow you to take as many vacation as you want? Be warned they might own all of your time. It is a business decision but make sure you are well compensated for it.
If the non-compete would severely cut your chances of getting more business, don't sign the contract. Non-competes are fine as long as they are making sense and are not wielded against you to force you in a servitude. If you are a web developer it might be ok for them to ask you to not develop apps for their direct competitors while you do business with them. But if you are backend developer specialising in banking applications, preventing you to work for another bank will be severely limiting your chances of getting another job -- which would most likely be another bank because they value your experience in the field.
If the contract requires you to pay damages in certain situations -- make sure the rate they are paying is high enough over market rate and your needs to cover your risks. I try to not sign those types of contracts although in some places those damages are almost mandatory to show that you are in fact a contractor (if you don't take responsibility for your work you are just an employee).
If you don't feel your interests are taken care of, don't sign the contract.
If you don't feel the other party interests are taken care of, DON'T SIGN THE CONTRACT. In my experience, whenever the first rule is not met, one side of the contract will not be happy. Good, long term relationship requires both sides of the contract to be happy with it. Don't waste time on business relationships that are broken from the start.
If the other party says they put this or that because legal needs it or because it "is a common practice", explain the above ("the contract is there ...") and if they can't understand it -- don't sign the contract. People will not want to change their standard contract because it is a hassle (it has to go through legal, etc.) but will frequently do it if you present reasonable argument.
If you know FOR A FACT that stuff is not enforceable, it is up to you how much you want to risk. If it is written in the contract it will pretty much fall on you to defend yourself and it may be long and costly. You should probably not sign the contract.
Understand, what it is they are buying from you. Are they buying 8h of your time every day, or are they buying 24/7, your soul and your family? If demand more than you are willing to sell -- don't sign the contract.
What if they pay you flat a flat rate regardless of how many hours you work and allow you to take as many vacation as you want? Be warned they might own all of your time. It is a business decision but make sure you are well compensated for it.
If the non-compete would severely cut your chances of getting more business, don't sign the contract. Non-competes are fine as long as they are making sense and are not wielded against you to force you in a servitude. If you are a web developer it might be ok for them to ask you to not develop apps for their direct competitors while you do business with them. But if you are backend developer specialising in banking applications, preventing you to work for another bank will be severely limiting your chances of getting another job -- which would most likely be another bank because they value your experience in the field.
If the contract requires you to pay damages in certain situations -- make sure the rate they are paying is high enough over market rate and your needs to cover your risks. I try to not sign those types of contracts although in some places those damages are almost mandatory to show that you are in fact a contractor (if you don't take responsibility for your work you are just an employee).