Preheat oven to 400 degrees and line a muffin pan with paper liners. If using frozen blueberries, do not thaw.
In a large bowl, whisk together the flour, sugar, baking powder and salt. In a separate bowl, whisk together the eggs, melted butter, vegetable oil, buttermilk and vanilla extract until smooth.
Pour the wet ingredients into the dry ingredients and stir gently until just combined; the batter will be thick and slightly lumpy-- do not overmix.
Let the batter rest at room temperature for 1 hour for best texture and rise (optional). Refrigerate overnight if preferred.
Gently fold blueberries into the batter, reserving a few for topping. For even berry distribution, fill muffin cups halfway with plain batter, then fold berries into the remaining batter and fill cups to the top.
To make streusel, in a small bowl combine the flour, brown sugar and cinnamon. Cut in the cold butter with a fork or pastry blender until mixture resembles coarse crumbs. Sprinkle each muffin evenly with the streusel topping.
Bake at 400 degrees for 5 minutes then reduce oven temperature to 375 degrees and bake for 15-18 minutes more, until a toothpick inserted near the center comes out with moist crumbs.
Let muffins cool in the pan for 5 minutes for before removing to a wire rack to cool completely.