A negative binomial regression model presuposes the dependent variable is a count variable (usually collected over the same units of time or space for each unit in a study; if that is not the case, the model would need to include an offset term). For the purposes of this answer, I will assume the model does not include an offset.
The model relates the log expected value of the count dependent variable to one or more predictor variables. (Another word for expected is average.) Thus, the value of the intercept in the model stands for the log expected value of the count dependent variable when the values of all predictor variables in your dataset were set to 0.
R uses dummy coding for categorical predictor variables included in your model (i.e., those converted to a factor using the factor() function). Setting the values of these categorical predictor variables to 0 when interpreting the intercept therefore means setting their value to the reference category (i.e., the category against which all other categories of the same variable will be compared). You can easily find out the reference category for a categorical predictor variable in R by applying the function levels() to that variable - the level (aka category) listed first by R is treated as the reference category. (Some people might call this the baseline category.) Note that, by default, R sets the reference category of a categorical predictor to the the category that appears first in alphabetical order among all categories of that predictor - this may or may not sense in your case. If it doesn't make sense, you can use the relevel() function of R to chance the reference category to something more meaningful.
For example, if you had a negative binomial regression model which related number of birds (dependent variable) to habitat type (top of mountain, middle of mountain or bottom of mountain), then the intercept in this model would be interpreted as the log expected bird count for bottom of mountain, provided bottom of mountain was declared as the reference category for habitat type.
Setting numeric predictors in your model to 0 may or may not lead to a meaningful interpretation for the intercept. If you have a Year predictor in your model, with values 0, 1, 2, etc., setting year to 0 will enable you to talk about the log expected value of the dependent variable in the first year of study (i.e., year 0). If you have a predictor like "bird size", then setting that predictor to 0 when interpreting the intercept will lead to a non-sensical interpretation - you can't have birds with a size of 0! In this case, you may want to center your variable around its mean or median to ensure a 0 value for the centered variable is meaningful.
The binary variables of the form "presence/absence" do not need any centering. If you convert them to factors in your model, just set their reference level to whatever is meaningful to you (presumably "absence").
If your count predictor variables take the value 0 in your data, you don't need to center them - you can interpret the value of the intercept as the log expected value of the count response variable when those count predictor variables are equal to 0 and all other predictors are equal to 0.
If you have a count predictor variable which does NOT take the value 0 in your data (e.g., its values are greater than 10), you will need to center it. How you center it depends on what the distribution of that variable looks like when you plot it. If it looks approximately normal, you will center the count predictor variable around its mean value observed in the data. If it looks unimodal and skewed, you will center it around its median value observed in the data.
In a negative binomial modelling context, centering a predictor variable $X$ around its mean involves replacing $X$ with $Xcen = X - mean(X)$ and then re-fitting your model with $Xcen$ instead of $X$. In a model which uses $Xcen$ instead of $X$, you would interpret the value of the intercept as the log expected value of the count response variable when $Xcen = 0$ and all other predictor variables are 0. Since $Xcen = 0$ when $X = mean(X)$ (presuming you centered $X$ around its mean), this is the same as saying that in the model which used $Xcen$ as a predictor, the intercept is the log expected value of the count response variable when $X = mean(X)$ (i.e., when $X$ is set to its average value observed in the data) and all other predictor variables are set to 0.
A similar principe applies for continuous predictor varibles when it comes to centering - just plot their distribution to see if it makes sense to center these variables around their mean or median values observed in the data. Alternatively, if there is a value of one of these variables that is substantively of interest, you can center around that value. As an example, let's say that $X$ stands for Age and the age 18 is important in your research as it denotes the Age when your study subjects can begin to vote - then your "centered" Age would be computed as Age - 18 and the intercept in a model with centered Age would be interpreted accordingly.
Scientific notation used by R can make it difficult to see if you have really large or really small standard errors in your model summary. You can turn it off using:
and then print your model summary to see what happens. If you have really large standard errors for some of the dummy variables used to encode the effect of the factors (i.e., categorical variables) in your model, that could be a signal that the categories represented by those dummy variables are sparse (i.e., there ar very few of those categories represented in the data). If that is the case, you will need to merge the sparse categories with other categories that are better represented in the data or perhaps even drop the sparse categories from your data - whichever makes most sense in your context.