Season the chicken with BBQ rub, salt, and black pepper.
Grill or cook the chicken on medium-high heat until done (165°F internal temperature), about 8–10 minutes per side depending on thickness; let rest.
Cook the bacon in a skillet until crispy; drain and chop into bite-sized pieces.
On a cutting board, layer shredded lettuce, grilled chicken pieces, crispy bacon, and sliced tomato.
Chop all the ingredients together until evenly sized and mixed.
Season lightly with salt and pepper, then add shredded mozzarella (if using) and ranch dressing.
Chop and mix again until everything is well combined.
Toast the sub rolls or buns, then scoop generous portions of the chopped mixture into each roll.
Serve immediately for best texture and flavor.