Easy steps to get Heart Scales,
Luvdisc's Have around a 50% chance of holding a Heart Scale
1. Get TM46 Thief from Camphrier Town.
2. Get Old Rod from Ambrette Town.
3. Make sure the Pokemon which knows Thief isn't holding any items.
4. Fish for Luvdisc and attack with Thief.
5. Take Heart Scale off Pokemon who stole it.