Heat a heavy-bottomed skillet (preferably cast-iron) over medium-high heat. Add bacon cook until crispy. Remove bacon strips and set aside for later use, reserving bacon drippings. Add onions to skillet with bacon fat on medium-low, stir and cook for 5 minutes.
While onions are cooking, in a large bowl, sprinkle the shrimp with a few pinches of salt and pepper, garlic powder and toss, then set aside.
Turn the skillet up to medium-high heat and add canola oil. Test the oil temperature by dropping in a dab of flour. If it sizzles then add the flour and cook, stirring constantly, until it is browned. Add cooked shrimp and bacon and stir with a wooden spoon. Slowly whisk in hot water, bring to a slight boil, stir, then reduce heat to a simmer for 10-15 minutes until the gravy thickens and browns. Taste gravy and add more salt and pepper or garlic powder if needed.
Serve the shrimp over the prepared grits topped with green onions.
