Whisk the buttermilk, eggs, and hot sauce together in a large bowl or measuring cup.
Add the chicken pieces to the buttermilk mixture and coat thoroughly. Cover and transfer to the refrigerator to marinate (tip#1) for at least two or up to 8 hours.
Approximately one hour before frying, remove the chicken from the refrigerator and allow it to come to room temperature (tip#2) before dredging.
Once the chicken reaches room temperature, whisk the flour, salt, pepper, garlic powder, onion powder, and smoked paprika in a large shallow bowl or plate.
Remove the chicken from the buttermilk mixture, one piece at a time, and dredge it in the flour mixture. Dip the chicken back into the buttermilk mixture and then dredge in the flour mixture again (tip#3).
Transfer the chicken pieces to a cooling rack set over a baking pan lined with parchment paper (for easy clean-up). Allow the double-dredged chicken pieces to rest for 15-20 minutes before frying (tip #4).
As the coating sets, add approximately 2½ inches of oil to a large heavy-bottomed pot, pan, or skillet set over medium-high heat and preheat the oven to 275℉.
Heat the oil until it reaches 350℉ as measured by a digital thermometer. You can also test if it's ready by adding a small pinch of flour to the oil. If it sizzles and fries then you're good to go.
Fry 2-3 pieces of chicken at a time (tip#5) for 8-10 minutes or until the internal temperature reaches 165 degrees Fahrenheit and the skin is golden and crispy. (The thighs will take longer than the legs, so fry them separately and let them fry for a few minutes longer as necessary.)
Remove the chicken from the oil and set aside on a cooling rack set inside a baking sheet lined with paper towels to drain. Once drained, transfer to a new baking sheet lined with parchment paper and place in the preheated oven to keep warm while the other chicken pieces are cooked.
Reheat the oil to temperature before frying another batch, and then repeat the steps above.