the solution has been found !
local function change_character(player_)
local starter_player = game.StarterPlayer
-- delete OLD characters
local old_character = starter_player:FindFirstChild("StarterCharacter")
if old_character then
old_character:Destroy()
end
-- create and move the NEW character to the DESIRED location
local new_character_model = game.ReplicatedStorage["StarterCharacter_NEW_1"]:Clone()
new_character_model.Name = "StarterCharacter"
new_character_model.Parent = starter_player
-- restart the сharacter
player_:LoadCharacter(new_character_model)
-- !!! when used LoadCharacter(), the character will always be selected from "game.StarterPlayer."
end