Place the chicken pieces in a large bowl or zip-top bag and pour the buttermilk over them. Cover and refrigerate overnight (or for at least 8 hours).
In a shallow bowl, whisk together the flour, salt, pepper, paprika, and garlic powder.
Remove the chicken from the buttermilk and let any excess drip off. Dredge each piece in the seasoned flour mixture, pressing to coat thoroughly. Set on a wire rack and let it rest for 15–20 minutes.
Pour about 1½ inches of canola oil into a large Dutch oven and heat the oil to 350°F.
Working in batches, carefully lower the chicken into the hot oil. Fry for 6–8 minutes per side, turning once, until golden brown. Chicken breasts should reach an internal temperature of 165°F. Thighs and drumsticks should reach 180°F.
Transfer the fried chicken to a wire rack set over a baking sheet to drain excess oil.
Let rest for 5 minutes before serving. If needed, tent loosely with parchment paper or layer of paper towel to help keep the crust crispy.