Make the blueberry reduction: Add blueberries and lemon juice to a small saucepan. Cook over medium heat, stirring and mashing, until the berries burst and the mixture thickens to a syrupy jam, about 6–8 minutes.
You should end up with roughly 1/4 cup.
Blend and cool: Purée the cooked berries with an immersion blender or mash very finely. Press through a fine mesh sieve for an ultra-smooth finish. Cool completely; a warm puree will loosen the frosting.
Beat the fats: In a mixing bowl, beat the butter for 1 minute until creamy.
Add the cream cheese and beat on medium-high until smooth and fluffy, 1–2 minutes. Do not overbeat or it can get runny.
Add flavorings: Beat in vanilla and salt until combined.
Sweeten gradually: Add powdered sugar 1 cup at a time, mixing on low until incorporated, then on medium until smooth. Start with 3 cups; you can add more later for extra stiffness.
Color and finish: Beat in the cooled blueberry puree a spoonful at a time until you reach a rich purple color and bright blueberry flavor.
If the frosting softens, add the remaining powdered sugar 1–2 tablespoons at a time until it’s thick and pipeable.
Chill briefly if needed: If your kitchen is warm, chill the bowl for 10–15 minutes, then re-whip for 10–15 seconds to restore a fluffy texture.