it is just the common misunderstanding because of the interface that wallets and exchanges use. in fact at code base there is nothing called "bitcoin" there is only satoshis. you send 1,000,000 satoshi not 0.01 bitcoin.
but since everything is old and a long time ago it bitcoin was worth less than a dollar, i think that is why it has still stuck with us.
but other smaller units exist
https://en.bitcoin.it/wiki/Units and there are a lot of them. i also agree with using Satoshi. it is best and easiest to understand instead of mBTC, uBTC, Bits,...
Google did something similar with their stocks. The primary google stock become to expensive, so they started a cheaper one.
since bitcoin is decentralized it would take time. i think at some point the wallets need to start using Satoshi in the interface as price goes higher. currently 1000 satoshi is about 4.6 US cents. and pretty soon 100 satoshi will be 1 US cent too. and that would be a start.