In Heart Gold and Soul Silver, you can obtain Shards through the Pokewalker.
You can increase chances by simply walking more steps in certain routes.
You can check Serebii for that.
(I'd give you a link, but l'm on a school computer, and Serebii is blocked.)