You can call Batch.Push.setNotificationsType
whenever you want in the runtime of your application.
EnumSet<PushNotificationType> set = EnumSet.of(PushNotificationType.NONE); // Disable all notifications
Batch.Push.setNotificationsType(set);
Typically, you can call this method when the user disables push notifications in the settings section of your app.
Keep in mind that once you've set the notification type within Batch, you have to set it again to change it.