Okay - I'm going to tell you to do what my ped told me to do. And my kids lived to tell the tale, and so will yours.
Use one of those children teaspoons that is long to hold the medicine. Stand it up in a short squat glass. Put it past his head so that he can't knock it over. Have a sippy cup of juice or milk on hand as a chaser.
Lay a towel on the floor and lay his head and shoulders on the towel. STRADDLE him with your knees against both sides of his cheeks and your legs holding onto his arms. Make your bottom close to his body so that he cannot get up. Grab that long teaspoon thing-a-ma-jig out of the glass with your right hand, and pinch his cheeks with your left hand to open his mouth. It's fine if he cries - that also opens his mouth. Pour the medicine down in and physically close his lips so that it won't come out. You can stroke his throat with your right hand and that will make him swallow. He will hate, hate, hate this and cry like a banshee, but the meds will be in his system because of this.
After you have to do this several times, he WILL become compliant and drink the medicine because he knows what the alternative will be.
You might think that this is cruel. However, what IS cruel is to allow your son to dictate his medical care and you end up with a son who is deaf in one ear because you didn't make him take his medicine. OR him ending up in the ER getting IV antibiotics because you couldn't get medicine in him at home. I promise you that what he will go through in the hospital is a lot worse.
Children should NEVER get to call the shots where medicine is concerned. You have to make them toe the line and you have to be the parent, and not a friend. My kids learned quickly that they didn't have a choice. Teach your son this. It will serve you both well.