Place chicken, ½ cup onion, 2 garlic cloves and 1 teaspoon of salt into a large pot. Add enough water to cover the chicken. Bring to a boil, cover and simmer until the chicken is fully cooked (about 20-25 minutes).
Remove chicken from the pot reserving the broth. Allow the chicken to cool and then shred it using two forks. Melt butter over low heat in a large skillet. Add garlic, onion, tomato, green pepper, black pepper, marjoram, and cumin.
Sauté until the vegetables are soft. Stir in shredded chicken. Stir in tomato sauce and reserved chicken broth. Stir in cilantro. Cook until chicken is heated through. Remove from heat.
To assemble tacos- place shredded chicken mixture into the bottom of each taco shell. Top with cheese, lettuce, tomato, and ranch dressing.