In any inductive definition (and every mathematical operation is defined in such a way), there's always inductive properties (x^(n+1) = x * x^n) and base cases (x^0 = 1).
To a philosopher, the inductive properties look like they have a lot of "meaning", because they often determine the properties of the operator involved.
The base case is chosen the way it is simply because alternatives lead to useless properties (say, x^0 = 0, where x^n = 0 for all x, n) or to simple variations that merely cause us to do extra work (say, x^0 = 2, where x^n is simply twice the value of usual).
Sometimes, two alternative definitions seem equally valid. For example, when defining rings, some authors say a ring requires a unit (a kind of base case). Other authors don't. The only difference is that in their theorems, the one author must always say "Let R be a ring with unit" when they want to talk about rings with units, and the other must talk about R \ {1} when they want to discuss a ring without a unit removed. Either definition works, but depending on what theorems you're interested in, one definition leads to more verbosity later down the page.
Operations are often "weird" near their base cases, because their properties stop working at that point. Since we use 0 and 1 as a common base cases, you often see weird behavior at these points. Division by zero is weird. Exponentiation at zero is weird. The expression 0^0 is super weird because TWO frickin' zeros are involved! But it's no weirder than what happens when you step off the edge of a cliff. The base case (regardless of what value you chose for it) is simply the point at which the induction properties stop working and you fall off. For most operators, this doesn't cause mental hangups, because asking the question out loud doesn't make sense in English (how often are you looking for subsets of a set when you know its empty?... it doesn't really bother people the answer is 1 instead of 0).
I'm not familiar with what problem you're working with, but extending algebraic operations to functions is always a ****ing pain. You have to know the range of all the functions involved in order to determine the domain of the expression you're working with. You can't get around it. You can do the physicist's thing and present like 0/0 or 0^0 is just infinity or some other unimportant value, and you'll still get the right answer for most other points on your function. But to find an exact answer, you have to be exact in your definitions.