Heat 2 inches of oil in a large pot, Dutch oven, or deep fryer and bring to 325°F (use a deep-fry thermometer).
In a large bowl, whisk together the flour, garlic powder, onion powder, cayenne pepper, 2 tablespoons salt, and 2 tablespoons black pepper until evenly combined.
Pour the buttermilk into a second large bowl and set it next to the flour mixture.
Working one piece at a time (start with the breasts), dredge the chicken in the flour mixture until coated, then dip into the buttermilk, tap lightly to remove excess, and return the piece to the flour mixture.
Firmly press and pinch the flour onto the chicken so each piece is well coated for maximum crunch.
Carefully place the well-coated chicken pieces into the hot oil in this order: breasts first, then thighs, legs, and wings. There should be 8 pieces in the oil.
Fry the chicken for about 15 minutes, then check the thickest part of a breast with an instant-read thermometer; it should read at least 165°F.
Remove the chicken from the oil and drain on paper towels; let cool 10 minutes before serving.