In a legacy bitcoin transaction, a Script PubKey set a combination with that of a ScriptSig in making a unique, valid and complete script, is bitcoin segregated witness (SegWit) a solution to avoiding Unconfirmed transaction output (UTXO) part of which was made as an improvement over legacy bitcoin address?
What are the approachs we can adopt to avoid the event of double spending?
It is not possible to double spend from segwit address format.
You are making a lot of confusion between terms, and the explanation is much simpler.
Segwit basically remove witness (signatures) data from transactions, this is why it is called
segregated witness.
This makes transactions smaller, so we can put more transactions inside a block, virtually increasing block size.
From bitcoin wiki:
Segregated Witness (abbreviated as SegWit) is an implemented protocol upgrade intended to provide protection from transaction malleability and increase block capacity. SegWit separates the witness from the list of inputs. The witness contains data required to check transaction validity but is not required to determine transaction effects. Additionally, a new weight parameter is defined, and blocks are allowed to have at most 4 million weight units (WU). Non-witness and pre-segwit witness bytes weigh 4 WU, but each byte of Segwit witness data only weighs 1 WU, allowing blocks that are larger than 1 MB without a hardforking change.
https://en.bitcoin.it/wiki/Segregated_Witness