Assuming that:
Your vector2 are the (x,y) coordinates of some point
Your reduction factor is a scaling reduction (e.g. I want to decrease my size by 20%)
The origin is at (0,0) and at the center
This becomes a pretty easy math problem. Direction isn't really relevant in that case.
public float reductionFactor = -20;
public Vector2 origin;
void Update()
{
Vector2 target = GetIntersectionWithCameraBounds(follow);
// scale the percentage to 0-1 and then look for our target size
// (e.g. a 20% reduction means we want to be 0.8 of our original)
float targetRatio = (100.0 - reductionFactor) / 100.0;
Vector2 reducedTarget = new Vector2(target.X * targetRatio, target.Y * targetRatio);
}
If you are using Unity or some framework, there may be built in ways to handle that type of transformation.