I am a citizen of India and currently have a Canadian visitor visa that expires in 2018. I currently live in the US. My flight plan at the end of this year from US to India involves a layover in Canada for a couple of hours. Do I still need a transit visa or is my visitor visa enough?
No, nope, never. You do not need a transit visa. Visit visas are superior to transit visas. If you have a valid visit visa you can certainly transit through.
If you are eligible to apply to enter a country on its border (which you are) you are certainly eligible to apply for a transit through it.
As noted in the comment below, if you have only a single entry visa then its for you to decide whether you want to use that entry or apply for a transit visa because if you use a single entry visa for a transit it will still be called USED. However for Canada and many other countries visit visas are multiple entry usually.
Let's say any future reader has a Green Card and no Canadian Visa they can obtain an eTA online quickly to transit through Canada.