I know there is a simple solution here
There is. And, you know what it is.
Is the blinking in any way related to the reception of serial data? NO, it is not. The NEED to blink, or not, IS related to the reception of serial data.
So, create two functions. One will handle reading serial data, and setting a boolean variable to true or false, to define whether there is a need to blink.
The other will handle the blinking, IF there is a need to blink.
All that loop() should do is call those two functions - one unconditionally, the other conditionally.