Add the chicken pieces to a gallon container with an airtight lid and pour in the buttermilk and hot sauce to cover. Let sit in the fridge for at least 1 hour.
Pour oil into a large fryer or deep, heavy pot. Heat the oil to 350°F on a deep-fry thermometer.
While the oil is heating, mix the flour, cornstarch, baking powder, paprika, cayenne, garlic powder, onion powder, and salt in a large bowl.
Remove the soaked chicken with tongs, allowing excess to drip off back into the container.
Coat all sides of the chicken in the dredge mixture and let sit on a wire rack for 10 minutes to hydrate the flour. This makes for a crispier crust.
When the oil is hot, add a few pieces of chicken to it. Do not crowd the pot. The temperature of the oil will drop as you add the chicken, so adjust the heat as necessary to maintain the oil temperature between 330°F and 350°F (let it go to the lower temperature if the chicken is browning too quickly).
Fry for about 14 minutes, until deeply golden and the juices run clear when pierced. (The internal temperature of the chicken should be 160°F.) Repeat with the remaining chicken in 2 or 3 batches.
Use tongs, a spider, or a slotted spoon to transfer the chicken to the wire rack to drain for 5 minutes. Lightly salt the chicken.
Transfer to a platter and serve immediately.
Store the chicken in a covered container in the refrigerator for up to 2 days. Reheat in a 350°F oven for 15 to 20 minutes.