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_"}]]]]