Sane has a release clause for 2017. Sane has a contract - so it is not up for Schalke to decide but for the player. It makes sense for Bayern to not want him for 2016 but for 2017 as the contracts of Robben and Ribery run out 2017 - and they will play less and less every season now (or injuries take their toll).
Schalke is not really a rival to Bayern - that would be clubs like Leverkusen, Wolfsburg etc. - or arch rival Dortmund. And if you look into the transfers this season a lot of the transfers actually happen between this clubs. Ain't it normal in the EPL, too, that players go from Southhampton or other more midlevel clubs to Chelsea, City, United...
So every club is allowed to buy players from their league - but Bayern is not?