Looking at the latest Spark code, when deleting a team, the event TeamDeleted is fired which has a listener called UpdateOwnerSubscriptionQuantity called.
Looks like it decreases the subscription there BUT only if your are charging PER SEAT. I agree if a team is deleted, it should cancel the Stripe subscription.
EDIT: Ok after some digging it actually does cancel the subscription!. If you look in the Team.php model in the Spark repo, in the detachUsersAndDestroy() method it checks if the team is subscribed and if so to cancel the subscription before continuing to delete the users and finally the team.
Also, the subscription should run until the current billing period ends.
I really think this is something that should be programmed to your requirements, I wouldn't be too bothered or expect too much from the Spark side of things here.
I've been considering this from a slightly different angle in that I have to set up the foreign keys and cascade calls on database migrations depending on what happens in my app.
'Spark makes it simple', well yeah, but that doesn't mean all the work is done for you, it is just a starting point with some handy methods. (That's a bit of an understatement, but I think it's a truth worth remembering).