How does Blowfish avoid successful cryptanalysis? I have researched the Blowfish algorithm and am curious as to why there  exists no effective cryptanalysis for this algorithm as of yet. What basic principles or features allow Blowfish to achieve this?
The same way other ciphers, basically, only it does it better than some. From the Blowfish paper these were the relevant building blocks "demonstrated to produce strong ciphers" in previous designs:


"Large S-boxes. Larger S-boxes are more resistant to differential cryptanalysis."
"Key-dependent S-boxes. While fixed S-boxes must be designed to be resistant to differential and linear cryptanalysis, key-dependent S-boxes are much more resistant to these attacks."
"Combining operations from different algebraic groups." (Blowfish uses XOR and  addition modulo $2^{32}$.)
"Key-dependent permutations. The fixed initial and final permutations of DES have been long regarded as cryptographically worthless."


The basic structure is a Feistel network, which has also been shown to produce secure ciphers provided the round function is good.

Of course, it's not a perfect cipher. For one, its 64-bit block size puts some restrictions on how we can use it securely. Its key setup is rather slow. There's also a class of weak keys for up to 14/16 rounds, which is quite close even if it allows no attacks. Schneier himself has been quoted as recommending people move to e.g. Twofish instead.