You cannot prove P → (Q → P) from disjunctive addition alone, without other rules. Your proof using classical logic relies on the equivalence of ¬Q ∨ P with Q → P, which does not hold in general for relevant implication.
Depending on which logic you are using, there may be restrictions on deriving P ∨ ¬Q from P. Many versions of relevance logic require P and Q to have shared proposition or predicate terms, without which it does not hold.
Some advocates of relevance logic (e.g. Stephen Read) distinguish two different kinds of disjunction: an extensional version that permits the inference from P to P or Q, and an intensional one that does not. One of the motivations behind this is to block one of the standard ways of proving the principle of explosion, since explosion does not hold in relevance logics.
1. P ∧ ¬P Premise
2. P 1, conjunctive simplification
3. P ∨ Q 2, disjunctive addition
4. ¬P 1, conjunctive simplification
5. Q 3,4 disjunctive syllogism
Here, we have a classical derivation of an arbitrary Q from the contradiction P ∧ ¬P. Read says this is equivocating in its use of the disjunction. We are using an extensional disjunction at 3 to derive P ∨ Q from P, and an intensional disjunction at 5 to derive Q by disjunctive syllogism. The idea behind this intensional disjunction is that it holds only when there is some relevant connection between P and Q.
You mention the principle of reductio ad absurdum, which can also be used to prove explosion:
1. P ∧ ¬P Premise
2. | ¬Q Assumption
3. | P ∧ ¬P 1, reiteration
4. ¬¬Q 2,3 negation introduction, discharging the assumption
5. Q 4, DNE
Again, we have a classical proof of explosion. Here, this is invalid in relevance logic because there is no relevant connection between 2 and 3. So in relevance logics, the reductio principle does not hold without restrictions. What does hold is the weaker (P → (P ∧ ¬P)) ⊢ ¬P.
This has serious consequences for understanding what negation means in relevance logics. Since reductio does not hold in general, the logic needs to cope with theoretical situations in which contradictions are true. Also, since P → (Q ∨ ¬Q) is not a theorem, the logic needs to cope with situations in which bivalence fails. Relevance logicians do not typically allow that any contradictions are actually true. Unlike dialetheists, their motivation for rejecting explosion is based on semantic considerations concerning the nature of implication.
A common approach to treating negation in relevance logic is to handle it using Routley-Meyer semantics. This involves defining a Routley star operator on worlds such that ¬P holds at a world A if and only if P does not hold at A*. This can then be combined with the conventional approach of relating the axioms of the logic with frame conditions on worlds. It is more complex than using Kripke semantics in classical modal logic because you have to allow for non-normal or inconsistent worlds that correspond to logical fictions.
The upshot is that logics that attempt to avoid explosion tend to be more weird than explosion itself.
Stephen Read, Relevant Logic. (1988)
J. M. Dunn, Relevance logic and entailment. In D. Gabbay and F. Geunthner (eds.), Handbook of Philosophical Logic III, pp. 117–224. (1986).
B. J. Copeland, On when a semantics is not a semantics: some reasons for disliking the Routley–Meyer semantics for relevance logic. Journal of Philosophical Logic, 8, pp. 399–413. (1979).
Greg Restall, Negation in Relevant Logics. In Dov Gabbay and Heinrich Wansing (eds.), What is Negation?, pp. 53-76 (1999).