As the title suggests, why is there a change in pronunciation between 頭【かぶり】を振る and 頭【かしら】を横に振る? As far as I can see, there is no difference between the meanings of the two—デジタル大辞泉 even lists the former as a definition of the latter. Is there an etymological reason for this change? Is there even a difference between 頭【かぶり】, 頭【かしら】 or even 頭【あたま】?
かぶり is an archaic word, and it's used almost exclusively in this idiom in modern Japanese. It's probably an example of a fossil word (an obsolete word that remains only in a certain idiom). かぶりをふる is a literary fixed phrase that only means "to deny/reject", and you cannot put another modifier like 横に in between. When the physical motion is important (e.g., in dancing or headbanging), you have to say あたまをふる. Also, 頭を縦に振る (meaning "to give the nod") is always read あたまをたてにふる.
かしら is much rarer than あたま, but much more common than かぶり. かしら typically means head in the sense of 'boss' in modern Japanese, but it's also just a literary and old-sounding synonym for (physical) head. So あたまをふる and かしらをふる should be interchangeable, but from my experience, the latter is fairly rare. In my opinion, if you see 頭を横に振る in a modern novel, you can simply assume it's read あたまをよこにふる. (かしら never refers to one's mind or thinking function; 頭 in 自分の頭で考えろ or 頭が良い is always read あたま.)