Regarding my second question, the Manifest needs to declare "display": "standalone" (or "fullscreen") for the Push API and Notifications to work. Once this is done I can actually subscribe to the notifications and receive them (!).
I still haven't a workaround for the first issue, the feature based detection. I'd rather avoid checking the iOS version, and I don't think it's even possible on the iPad. Help is welcome. Thanks!