Could I define 0^0 to be 1?

Yes, by doing this (similar to this):

Unprotect[Power];
Power[0|0., 0|0.] = 1;
Protect[Power];

If you want to revert to normal:

Unprotect[Power];
ClearAll[Power];
Protect[Power];

The downside is that it doesn't make sense mathematically, and from a false premise you could reach a false conclusion. You better constrain your function in some other way. Try reading on conditional definitions here: Condition


With the help of @Michael E2 in my question

Case $\frac{0}{0}$

In this case,you can define your function like this:

func1[a_,b_]:=0 /;b==0
func1[a_,b_]:=a/b

Test

func1[0, 0]
1

Case$0.^0$

So you can use the /; to avoid $0.^0$

func2[x_,0]:=1/;x==0||x==0.
func2[x_,y_:0]:=x^y    

Test

 func2[0, 0]
1
 func2[0., 0]
1