If the above is you here is some advice: Your son is just trying to "let go" of the child he once was, and find out who he is becoming. You need to start letting go of that child too. Learn more about this new person that is evolving, and help guide him on the path to adulthood. Hang in there; keep your sense of humor. Keep showing your love, your interest, and support, even when he seems indifferent.
Your best approach is to accept these changes as normal, try very hard not to overreact (just pretend you are Bill Cosby/Dr. Huxtable), and stay calm and consistent about your rules and family values. You won’t be able to just say "no". You will also need to explain why the "no" is in the best LONG RANGE INTEREST of your teenager. At the same time, you need to remember you are still in charge when your teen needs firm guidance.
Look at every debate and power struggle as a learning opportunity. These "discussions" are a challenge to your wisdom, maturity and patience, not a challenge to your power as a parent. If you need a way to stay more detached and objective, you might try thinking of your child as an exchange student who is living with you. (It works.)
Don`t assume that you "know" your teen inside and out. Be interested and objective; observe and learn about the new person he is becoming. Listen openly to what he says about his ideas, fears and dreams. The things he says may actually keep changing as he solidifies his values. No matter what he says, his values are very similar to yours.
You know more about life than he does, but don`t keep rubbing that in. Instead, provide as much information as possible so that he learns to make responsible and informed choices in his own best interest. Give him chances to make decisions, but make sure he experiences the consequences of every choice!! Eventually he will become much more than the child he was; he`ll be an adult friend you will be proud to have.