Found a couple of documents:
When 不 is pronounced as '부', it is because the following noun usually starts with 'ㄷ' or 'ㅈ'. Examples are 부도덕(immoral), 부정확(imprecise), etc.
2) '부실'과 '불실'
There are a few exceptions, such as '부실(不實)', however since the proportion of vocabulary meeting the condition is large, the rule is still valid according to National Institute of the Korean Language.