In a 12-inch skillet cook diced bacon (8 slices), over medium heat, until crispy, Remove cooked bacon with a slotted spoon to a paper towel-lined plate. Set aside 1/2 cup of bacon to use as garnish. Drain and discard (or better, save for another use) all but 2 tablespoons of the bacon fat.
Add chicken cubes, chopped onions (1/2 cup), Cajun seasoning (3/4 teaspoon), and black pepper (1/4 teaspoon) to skillet and brown for 4-6 minutes. (Chicken doesn't need to be cooked through at this point).
Sprinkle chicken with a packet of ranch seasoning. Pour in chicken broth (4 cups) and bring to a boil, scrapping the bottom of the skillet to dislodge all the brown bits in the skillet.
Add penne (12 ounces), lower heat to low, cover, and simmer until the pasta is al dente, 15-18 minutes.
Uncover skillet then stir in cream cheese (8 ounces) and cream of chicken soup (1 can), stiring until smooth and there are no more lumps.
Stir in 1/2 cup mozzarella, 1/2 cup cheddar, and cooked bacon (except 1/2 cup reserved)
Remove the skillet from heat, then sprinkle it with the remaining 1/2 cup mozzarella, 1/2 cup cheddar, and reserved 1/2 cup bacon. Cover with lid and allow to sit until the cheeses melt. Sprinkle with parsley (1 tablespoon) and serve.
Notes
Pan Size: Start in a large pan. I like a Dutch oven or skillet large enough to accommodate all the ingredients with room to mix and simmer.
Al Dente: Cooking the pasta to al dente ensures that the pasta will not get too mushy when serving. Cook until there is a little bite to the pasta, but not too uncooked.
Cheese: You can use pre-shredded cheeses in a pinch, but I always grate by hand.