This is very tricky. But Daniel's answer explains it.
If the word that you're going to say as a compliment has two possible genders, you have to match the person who's receiving the compliment's gender and the compliment's gender.
For example:
There's no gender for fruits and vegetables, like chuchu. Chuchu is just chuchu. The same goes for feelings, like amor, paixão, or vida.
With that in mind, you could say things like:
"Meu amor" for a girl.
"Minha paixão" for a guy.
"Meu docinho de coco" for a girl.
"Minha vida" for a guy.
"Meu bem querer" for girl.
And the list goes on...
BUT, when the compliment relates to something that has a gender, like animals for example, you'll need to match the genders in order to not offend the person who's receiving the compliment.
For example:
You can't say "meu gatinho" to a girl. You must say "minha gatinha".
And this is even worse when you use the wrong gender for a guy. Guys get more offended with this kind of error.
So, never say something like "minha amiga" to a man.
By the way, I would never say "meu chuchuzinho" to a girl, even if it's grammatically correct. It's old fashioned.
Hope it helps! =]