How can I disable the heads up for Android Lollipop, just like it was in KitKat and below?
If it is possible to disable heads up, is it also possible to enable it for certain apps only , like when I receive a call?
A non root option is now available. The HeadsOff app can disable all Lollipop Heads-up notifications on your phone. It can also disable Heads-up notifications only for selected apps. If you purchase the Pro key you can restore the ticker text in the status-bar to see a little notification preview.
On Cyanogenmod 12.1+ (including CM13) there is by default an option to enable or disable heads up notifications. Just go to
Settings -> Notifications -> Heads up There you can enable or disable the heads up notifications.
Another possibility is using adb:
adb shell settings put global heads_up_notifications_enabled 0
I presume your device is Rooted. You will need Xposed for Lollipop. Get from here (Official Xposed Lollipop thread)