A trick is to create another layer using the child element on hover to simulate the non-changing of the parent background. 
Here is an example with box-shadow (On hover of child, change background color of parent container (CSS only)) 
.parent {
  background-color: #cde;
  width: 100%;
  height: 100px;
  position: relative;
  overflow:hidden;
}
.parent:hover {
  background-color: black;
}
.child {
  position: absolute;
  left: 50%;
  top: 50%;
  padding: 10px;
  background-color: #ff0000;
}
.child:hover {
  background-color: yellow;
  box-shadow:0 0 0 1000px #cde;
}
<div class="parent">
  <span class="child">
  Click
 </span>
</div>