Easiest way to get heart scales or everstone is to teach a Pokémon thief, preferably a level 100 Pokémon.
For heart scales use the old rod in Cyllage city and then use thief on the lovdisc.
For everstone, go to Couriway town and go to the route north of it, then use thief on the Gravler'ss there