I managed to find a slight hack to solve this. If you check the source of Settings.Secure, you will see that ENABLED_NOTIFICATION_LISTENERS is annotated with @hide. I don't know if this is intentional or not. On a related topic, CommonsWare does mention in another answer that there is a bug preventing the starting of this setting so I guess is unintentional.
Anyway, to work around this, all I did was to fetch the current list of enabled notification listeners using the string value of ENABLED_NOTIFICATION_LISTENERS:
String enabledListeners = Settings.Secure.getString(context.getContentResolver(),
"enabled_notification_listeners");
Then you just have to check if your service is in the list.
I did not test this on all API >= 18 yet but it is working on Android 4.4.2.