Try learn to use a timer, they help tremendously.
I used to need a single hour at least to breed a Pokemon, with a timer, I only need 20 minutes mostly.
Oh yeah, for an easier time on Emerald breeding, read my Emerald RNG noob guide, there's a trick (if you are using an emulator) that makes it absurdly easy