The trick to this fight is to keep the high ground throughout the encounter. Stay directly above the boss as he weaves back and forth. You can then consistently take the initiative by slowly inching down until you get on a level plane. Keep matching his his left-right movements as you inch down on him.
Using this method of creeping in from above, you should be able to consistently get in your attacks before he's able to swipe you. With a little patience, you should be able to take him down without taking any damage.