Pound the chicken between two sheets of plastic wrap with a mallet until 1/4 to 1/2 inch thick. Transfer to a large bowl and add the onion, 3/4 cup buttermilk, garlic, 1/2 tsp salt and pepper. Refrigerate for at least 30 minutes and up to 4 hours.
Meanwhile cook the bacon in a medium skillet over medium heat, turning, until crisp about 8 minutes. Remove to a paper towel lined plate to drain. Reserve the drippings for the dressing. Chop the bacon.
Fill a small with ice water. Bring a medium saucepan of water to a boil. Add the eggs and cook 4 minutes, then transfer 1 egg to the ice water, continue cooking the remaining eggs for an additional 6 minutes, then drain and cool.
Make the dressing. Remove the 4 minute egg from the ice water and carefully peel and transfer to a blender. Add the oil, bacon drippings, 1/4 cup buttermilk, vinegar, mustard, 1/4 tsp salt and pepper. Blend until smooth and slightly thick. Refrigerate at least 15 minutes.
Preheat the grill to medium-high. Lightly brush the grill with oil. Drain the chicken, and onion, discard the garlic. Pat the chicken dry, lightly season with salt and pepper. Grill the chicken turning once until cooked through, about 8 minutes. Grill the onion turning occasionally until lightly charred about 10 minutes. Roughly chop.
Peel and chop the eggs. Toss the romaine, grilled onion, tomato, avocado, blue cheese, and 1/4 cup of the dressing in a large bowl. Divide the chicken among plated and top with the salad, bacon, and eggs. Drizzle with the remaining dressing. Enjoy!