Origins
The English word *babushka* is a borrowing from Russian бабушка (*bábushka*), 'grandmother'. In the Russian word, *bába* is the older root — 'old woman' or 'peasant woman' in Proto-Slavic *baba — and *-ushka* is one of the language's most affectionate diminutive suffixes. So *babushka* is, almost word-for-word, 'dear little grandmother'. The stress lies on the first syllable in Russian (BÁ-bushka), though English speakers very often shift it onto the middle one.
The Proto-Slavic root *baba* is reconstructed from a tight family of cognates — Polish *babcia*, Czech *bábička*, Ukrainian *babusia*, Bulgarian and Serbian *baba* — all meaning 'grandmother' or 'old woman'. Beyond that the trail thins. The form is widely thought to belong to the cross-linguistic class of nursery words built on a doubled *ba-* syllable (compare *mama*, *papa*), but any deeper Indo-European reconstruction is disputed.
Proto-Indo-European Roots
The headscarf sense — the one English speakers usually reach for first — is a comparatively recent metonymy. The OED records it from around 1938, originally in American English, naming the triangular kerchief tied under the chin not for what it was but for who wore it: the older women of Russian and East European communities for whom such a head-covering was customary. The cloth borrowed the name of its wearer, and the borrowing crossed only one way. In Russian itself, *babushka* still means 'grandmother'; the headscarf is a *платок (platok)*.
In current English the word lives a double life. *Babushka* can mean an elderly Russian or East European woman (often warmly, sometimes condescendingly), and it can mean the headscarf — usually folded into a triangle and tied under the chin. By extension, *babushka doll* is occasionally used in English for the Russian nesting figure, although the strictly correct Russian term for those is *matryoshka*.