Replace by fee only allows replacement of a TX to the very same output address as the lower fee original TX, so there is no double-spend risk.
The only kind of "double spend" is sending to the SAME output twice, to the recipient will still get the BTC regardless.
Look at the linked "doublespend.py" and you can see there is only ONE address you are sending to, not two.
There is a lot of FUD about this.
This is not true. RBF allows you to change anything about the makeup of the transaction, including both inputs and outputs. The argument that the blockstream core devs were making to support RBF is that unconfirmed transactions are not always safe to accept, therefore it would not be harmful to make it so unconfirmed transactions are never safe to accept.
The common use case for a RBF transaction would be that the same inputs would be used, and that the fee would be increased at the expense of the change address, however the Bitcoin protocol has no way to know which address is the change address, therefore it would be trivial for the sender to create/push a new transaction that sends less btc to the person you are claiming to send btc to.
Furthermore, it is possible that a malicious sender could create/sign/push a transaction that actually lowers the fee paid to a point in which it would be unlikely to ever get confirmed, and then double spending the transaction once it has dropped out of the node's mempool in a few days.
Blockchain.info appears to employ a policy of not even displaying information regarding RBF transactions while they are 0/unconfirmed, likely because displaying them on their block explorer will be misleading. I would suggest that electrum employ a similar policy of not even having the transaction show up on the UI until the transaction has at least 1 confirmation.