It's hard to answer this question without seeing any of your actual artwork, but I'll try anyway (if you don't have any actual artwork yet, you are trying to solve this problem way too early).
It sounds like you're trying to make this way more complicated than it should be.
If your character's face is a sprite...

...just make another transparent sprite for the blush...

... and place it over the face.

For more control over the color, you would normally make the blush sprite pure white and set the color in Unity.
In this simple example, my gradient blush is covering up the 5 lines on the cheek. This can be solved by adding the lines to the gradient blush, or making them a separate sprite and placing that above the gradient blush.
On the right side of the image, the girl's hair is partially obscuring the blush on her left cheek. This would require the hair to be on a separate layer on top of the blush.
What if the character is 3D? If the character is 3D, you might be able to get away with placing a blush sprite in front of the character's cheek as long as the player can't get close enough to tell that the blush is a sprite. Otherwise, you'll need a shader with an extra texture layer to blend over the main texture.