In a large bowl, combine the buttermilk and hot sauce (if using). Add the chicken pieces, ensuring they are fully submerged. Cover and refrigerate for at least 2 hours, or overnight for best results.
In another bowl, mix together the flour, garlic powder, onion powder, paprika, cayenne pepper, salt, and black pepper.
Remove the chicken from the buttermilk, allowing excess to drip off. Dredge each piece in the seasoned flour mixture, pressing lightly to ensure an even coating. Shake off any excess flour.
In a large skillet or deep fryer, heat about 2 inches of vegetable oil over medium-high heat until it reaches 350°F.
Carefully add the chicken pieces to the hot oil in batches, being careful not to overcrowd the pan. Fry for 12-15 minutes, turning occasionally, until the chicken is golden brown and cooked through (internal temperature should reach 165°F).
Remove the chicken from the oil and place it on a wire rack or paper towels to drain excess oil. Let it rest for a few minutes before serving.