Heart Scales ate found in :
Route 104, Route 105, Route 106, Route 109, Route 109, Route 109, Route 118, Route 124, Route 124, Route 124,Route 124, Route 126, Route 128, Route 134, Route 134, Lilycove City, Pacifidlog TownFrom Secret Pal in Secret BaseFrom Fan in Contest Hall - Hyper Rank
Be a thief
Go to Route 128 or Ever Grande City and grab some Luvdiscs with a Good or Super Rod. Use Covet or Thief to steal a Heart Scale if the Luvdisc is holding one. There is a 50% chance it will.
An efficient Pokemon to use would be a Gorgheist with Frisk and Thief.
This video might help