Было бы не плохо еще указать про операторы takeUntil(), take()
Да, можно, просто в текущей реализации даже не знаю куда их пристроить. Но например, можно было бы сделать какой-нибудь subscribe/unsubscribe для эффектов.
А вообще, хорошей практикой считается не использовать явные отписки/подписки. Тогда с таким кодом будет проще работать.