How to make functional rules not depend on an argument?

Consider the following:

rule = f[x] -> Sin[x] 

if I now do, say:

f[y] /. rule 

this does not work, because the rule wants the argument to specifically be x. Of course, I could do:

f[x] /. rule /. x -> y 

but I really would be able to “clean” the rule of the input. As an example, If we use NDSolve to solve an ODE, we obtain a rule of the form:

{f -> InterpolatingFunction["stuff"]} 

this is nice insofar that I can apply this rule to f, where the argument can be anything I wish. So, the question is, If I ALREADY have a rule as above, is there a nice way to “remove” the “[x]” part of all the functions, in the sense described above?