I found a working solution for my case. It still uses the Notation Package and makes use of PatternWrappers:
Here is the Code:
Needs["Notation`"] (*Notation[1/Simplify[a_^(-b_ c_)] <==> a_^TemplateBox[b_?Negative] c_]*) (*Notation[(a_^d_)/Simplify[a_^(-b_ c_)] <==> a_^TemplateBox[b_?Negative] c_+d_]*) ClearNotations[] Notation[ParsedBoxWrapper[ FractionBox["1", SuperscriptBox["", TemplateBox[{ RowBox[{"Simplify", "[", SuperscriptBox["a_", RowBox[{ RowBox[{"-", "b_"}], " ", "c_"}]], "]"}]}, "NotationPatternTag"]]]] \[DoubleLongLeftArrow] ParsedBoxWrapper[ SuperscriptBox["a_", RowBox[{ TemplateBox[{ RowBox[{"b_", "?", "Negative"}]}, "NotationPatternTag"], " ", "c_"}]]]] Notation[ParsedBoxWrapper[ FractionBox[ SuperscriptBox["a_", "d_"], TemplateBox[{ RowBox[{"Simplify", "[", SuperscriptBox["a_", RowBox[{ RowBox[{"-", "b_"}], " ", "c_"}]], "]"}]}, "NotationPatternTag"]]] \[DoubleLongLeftArrow] ParsedBoxWrapper[ SuperscriptBox["a_", RowBox[{ RowBox[{ TemplateBox[{ RowBox[{"b_", "?", "Negative"}]}, "NotationPatternTag"], " ", "c_"}], "+", "d_"}]]]]