Take Alakazam, for example.
Yes.
Magic Guard and Rock head will negate recoil. Magic Guard and Rock head will not negate the recoil of Struggle. Rock Head will also not negate the recoil of Hi Jump Kick and Jump Kick.
http://pokemondb.net/pokebase/53860/how-do-i-know-how-much-i-will-get-hit-by-recoil?show=53867#a53867