I need to perform some tasks (in this case, add/remove content types) when a workflow is associated/disassociated with a given list. Is there an event that I can listen for/hook into? I am using Visual Studio to develop and deploy my solution.
At least for 2010, the answer is no. Here is a list if all events you can create event receivers for in 2010:
Same seems to be valid for 2013, despite the fact that the number of possible events has increased. You have for example WorkflowStarted and similar, but not WorkflowAssociated or something like that.