I would than if there is one player in the team, team name changed for the player name, and if there is not player then the team is named "empty"

local TycoonTeamColor = {"Bright blue","Bright red","Bright green"};

local starterteam = Instance.new("Team",game:GetService("Teams"))
starterteam.TeamColor = BrickColor.new("White")
starterteam.Name = "For Hire"

for i,v in pairs(TycoonTeamColor) do
	local team = Instance.new("Team",game:GetService("Teams"))
	--team.Name = "Empty"
	team.AutoAssignable = false
	team.TeamColor = BrickColor.new(v)
	local isowner = Instance.new("BoolValue",team)
	isowner.Name = "OwnsTycoon"
end

game:GetService("Players").PlayerAdded:connect(function(plr)
	if not game:GetService("Teams"):FindFirstChild("For Hire") then
		local starterteam = Instance.new("Team",game:GetService("Teams"))
		starterteam.TeamColor = BrickColor.new("White")
		starterteam.Name = "For Hire"
		wait()
		plr.TeamColor = BrickColor.new("White")
		plr:LoadCharacter()
	end
end)

while true do
	local teams = game:GetService("Teams"):GetTeams()
	for _, team in pairs(teams) do
		local players = team:GetPlayers()
		if not team.Name == "For Hire" then
			print('if not team.Name == "For Hire" then')
			if #players == 0 then
				print("Empty")
				team.Name = "Empty"
			elseif #players == 1 then
				print("Not Empty")
				team.Name = #players.Name
			end
		end
	end
wait()
end