This is an area I am thinking about on my subscription site as well, and your thoughts about the main cancelation reasons jive with mine as well. In my experience over the past few months, the main reason why people cancel is either because of price (need to cut back on expenses and they see startup tshirts as a luxury) or they weren't fans of the particular shirts they were getting (in which case we can let them know about whats upcoming).
Either way I handled this all through email, which made it easier to fully understand their problems, and in many cases turn it around (since every month is different, it may just take one cycle to get them happy again).
Most of the people canceling relayed that they were still passionate about what they were receiving, so what I've been doing recently is giving them free subscriptions and having them on as brand ambassadors, helping me spread the word about Startup Threads Monthly. Too early to tell if this is a good idea but its what I'm working on now.