There are obviously hundreds of other factors (with different weights), with dozens/hundreds of tests at any given time, but those few factors are what have remained relatively consistent over time. That is partially why Google's results are so bad. It is only a matter of time for people to figure put what matters and then optimize against it. What is best for the user may not be the best for Google, sites or advertisers. Unfortunately, many times the best content isn't visible, because people capable of marketing have a leg up versus those who just want to provide utility.
Have its ranking algorithms do the opposite of all the things you just said!