Are " replacement rules" and " inference rules" ( in natural deduction) really two kinds of rules? I think the distinction, in natural deduction systems,  between " inference rules" and " replacement rules" is standard. ( For example, Bergmann, The Logic Book). 
Is " replacement rule" anything else than " inference rule that works in both direction". 
For example is the replacement rule  " P :: ~ ~ P " ( Double negation) anything else than an abbreviation for 
" (1) from P, infer ~ ~P
AND 
(2) from ~~P  , infer P "   ? 
 A: Rules of replacement are equivalences.   You generate a new statement by replacing a clause within a statement with a logically equivalent clause.   As you noted, this process may always be reversed.
$$\begin{split}p\to (q\to r)\\\hline p\to(\lnot q\lor r)\end{split}$$
Rules of inference are entailments.   The rules are used to infer that a new statement may be logically implied by one or more statements.   However the converse is not always allowable.   Rules of inference also cannot be applied to clauses of a statement, they always work on whole statements; and revolve around the operator with the highest precedence.
$$\begin{split}p\to r&\quad p\\\hline r&\end{split}$$
A: The two sets of rules are importantly different:


*

*First of all, as you noted, a rule of inference go one way, but a rule of replacement goes both ways, because rules of replacement reflect equivalences

*Second, rules of replacement can be applied to component parts of a larger statement ... but rules of inference cannot.
For example, using Double Negation I can infer $\neg \neg P$ from $P$, and vice versa ... but I can also infer $\neg \neg P \land Q$ from $P \land Q$, and vice versa. That is, replacement (equivalence) rules can be applied to part of a statement.
On the other hand, rules of inference should not be applied to component parts! (doing so is a common mistake for beginning students of logic!)
For example, if I try to infer $A \to C$ from $(A \land B) \to C$ using Conjunction Elimination, I am making an invalid inference (check it with a truth-table).  So: Rules of inference can only be applied to whole statements.
