Is it ok and safe to import master public key from electrum wallet into bluewallet to be a watch-only wallet? I want to use my iPhone (Blue wallet) to be the watch-only wallet for my offline wallet generated on electrum. So that I can generate unsigned transaction on the bluewallet and send it back to my offline wallet to be signed on electrum. And then send the signed transaction back to bluewallet to be broadcasted.
Is it safe to do so? Is there any better way to do it so I don't have to send the unsigned and signed transaction back and forth?
Is it safe to do so?

It should be considered safe. For better privacy and security, using your own Electrum server in Bluewallet could also help. Creating transactions in a watch-only wallet using bluewallet and signing them using Electrum offline has no issues.

Is there any better way to do it so I don't have to send the unsigned and signed transaction back and forth?

After signing the transaction you can broadcast it from anywhere. For example: I can sign it on a mobile device which is not connected to Internet but can send text messages, can encode transaction hex and broadcast it using text messages. Related Q&amp;A
Or you can broadcast transaction using this link in Tor browser on an online device: http://explorerzydxu5ecjrkwceayqybizmpjjznk5izmitf2modhcusuqlid.onion/nojs/tx/push but you will have to copy the transaction hex after signing or maybe just scan QR code.
FullyNoded is also a good project that you may find interesting considering you have an iPhone.