The one suggestion I would add is to segment your users in the model: flighty, regular, loyal (or something similar)
Focus your analysis on clearly modeling usage by segment in the first few months to get a good feel for who is dropping, when, and why (good exercise). There is nothing wrong with modeling a 'loyal' segment that simply loves your service and never or rarely cancels, so long as you also model 'regular' and 'flighty' users.