I do agree that the longer the sentence, the harder it is to read. I think a good improvement to this algorithm would be to have varying degrees of "complexity" based on the word popularity instead of having a binary classification of complex/non-complex. Instead of using a percentage of complex words like that formula does, you could use a weighted percentage based on the popularity of each word in a word frequency list. Or even better, you can measure the word-based information entropy contained in the writing sample.
Frequency lists are everywhere: https://en.wiktionary.org/wiki/Wiktionary:Frequency_lists This has the added advantage of being able to use the dictionary tuned for your target audience is. As an example if you are targeting a system administrator, the index could be made more accurate by using a frequency list generated from UNIX man pages. (tongue-in-cheek)