To be honest, I would just try to stop the wallet from rebroadcasting and reset the blockchain on wallet afterwards and send it when the transaction drops out from mempool. It's much simpler.
Can you explain what you mean?
Broadcasting means that you are relaying the transaction throughout the network. Rebroadcasting means you're doing it again. Transaction usually drops out of mempool in a day or two and to get them in again for chance of miner picking them up, you have to rebroadcast the transaction.
If you do not rebroadcast, the transaction would eventually get forgotten by the network. You can then create a new transaction. Miners and nodes will then relay your transaction and include it into a block. That is unless someone else rebroadcast it again. Nodes can refuse to relay your transaction if any of the output has less than 2730 satoshi or has a very low fee. If that happens, wait for sometime and try to reset blockchain in your wallet. Some wallets rebroadcast it automatically. For Bitcoin Core, you can stop rebroadcasting and delete the transaction from wallet by using -zapwallettx as a flag when starting it up from CMD in windows or terminal in linux. Do still need to wait for network to forget about it though.