As stated in the Android Developer's Documentation, a developer must support a subscription as long as there is at least an active user:
Important: You shouldn't remove a subscription from Google Play while any user is still entitled to the content. Removing content that is owed to a user will result in penalties. For more information, refer to the the Cancellations section in Create a subscription.
You must support a subscription as long as it has at least one active user. If a developer doesn't support subscriptions with active users, the developer account will be suspended, and the user's subscription will be refunded using the developer's account.
The question is, how to unpublish an app that offers subscriptions without being penalized, so it can't be downloaded anymore?
We use the subscription model to unlock app features, and we don't offer any extra content that can be downloaded.
For "pay-to-download" apps using the LVL, is my understanding that when an app gets unpublished, the Google Servers still send the LICENSED response regardless of the app's publish state.
I only assume that for subscriptions would be something similar when the app in the user's device queries for active subscriptions, which would be fine, but I'm seeking a way to not allow any more downloads of the app.
I got in contact with Google and they said there is no problem.
So as long as the subscription features within the app aren't removed and still available to paying users, is fine to unpublish it.
Here is their answer, in case is useful to other developers:
If you choose to unpublish the app only current users will still have access to the app, users are allowed unlimited reinstalls of each app distributed via Google Play, so an app remains available to users that have already installed it even after it has been unpublished.
This includes app with in app products and subscriptions, the user will continue to have access, you will need to support this as long as there is an active user.