Jerusalem IS Israel's capital, at least practically speaking. Jerusalem isn't universally recognized as Israel's, though, because of it's rather complicated history and the desire of the Palestinians to make it their own capital as well. Because a lot of nations just don't recognize Jerusalem as Israel's capital and officially consider it "corpus separatam" (a separate body, or its own thing), a lot of people are confused because they're going off that rather than what is actually in place. Obviously, other nations not recognizing it does not change the reality that Israel's head of state and the offices of all its major institutions are seated or at least represented in Jerusalem. For all intents and purposes, you cannot deny Jerusalem's status as Israel's capital.
Now, declaring that he's making it the capital is not what Trump did. He didn't declare Jerusalem to be Israel's capital. What he did instead was essentially admit that we believe that it is, and that the US will recognize that it is with moving the embassy to Jerusalem. Honestly, as far as capitals ago, the only thing that Jerusalem lacks are embassies of foreign nations. That's something you expect to find in capitals, but not something needed to honestly make a city one. In 1995, Congress decided to move the embassy to Jerusalem and through that officially recognize Jerusalem's status as capital but Clinton, with Bush and Obama after him, decided to put a stop to that. All Trump is actually doing is letting the plan put forth by Congress go forth in implementation. Yes, a country and its citizens should be the most important voice in determining what their capital is, and as Israel controls Jerusalem it's fitting that it be considered Israel's. All Trump is essentially doing is recognizing what that choice is, officially.
He's still opening up a large can of worms (or angry snakes as you put it) because the US recognizing it, especially at this time, will cause the Palestinians to be angry and many of them will respond with violence. However, Israel knows that better than anyone, and they're still happy that Trump did what he did for the most part. Our relationship with Israel won't be strained by this, or by much of anything really (they're one of the most pro-US nations on the planet); however, our role in the peace talks with the Palestinians will be put into question because we're no longer pandering to their desire to turn Jerusalem into the Palestinian capital. We will lose some influence with them, at least for some time, and a few other nations that we didn't have the best of relationships with in the Middle East. Tbh, a lot of Arab states say that they oppose it, but their leaders will care less if they're huge US supporters and allies.
Edit: For those saying Tel Aviv, ask yourself what truly makes a capital and figure out what from that list Tel Aviv actually has now. The basic requirements for a city to be a capital city are not met by Tel Aviv, but by Jerusalem as far as Israel goes. Tel Aviv is to New York City as Jerusalem is to Washington D.C., especially considering that the first governments of both nations met in Tel Aviv/NYC and then found more permanent homes elsewhere.