Python 2, 115 bytes
def f(s,r='',l=-3):
for c in s+'\0':
if c.isalpha():l+=1
else:r+=('Bl%st'%('e'*l))[:l+3*(l>=0)]+c;l=-3
return r
def f(s,r='',l=-3):
for c in s+'\0':
if c.isalpha():l+=1
else:r+=('Bl%st'%('e'*l))[:l+3*(l>=0)]+c;l=-3
return r