game is different from smite/league/mobas because there are no items or "lane matchups." team comps and objectives are the only variables (though ultimate charges and timer play into that as well). not really sure when games get competitive, because right now i will either play with a huge range of asinine flankers/snipers or mercy/reinhardt gods, but matchmaking at the current point in time is super aggressive, so you will gain and lose mmr extremely quickly from your streaks. i would assume down the line, blizzard will fix that, especially with the game's being super early in its lifespan. ranked mode will come out later this month, so i figure those games will be more competitive.
the general metagame at the moment is double support (mercy/lucio) + double tank (reinhardt/winston) + double offense (tracer/mccree) with the occasional junkrat, bastion, torbjorn, widowmaker, genji, or zarya thrown in. obviously comps will vary far more in actual games, as the above mostly applies to competitive. there are some guides you can watch that will give you general rundowns on matchup, but a lot just comes from experience. i think the cynical nerds guides in the OP are a good starting place.
hero switching is an important thing to take note of, alongside coordinating ultimates for pushes/holds. this is generally easier to accomplish with friends because the general public will basically always attempt to 1v6.
i am not a very good hanzo at all, but for what it's worth, i think you should generally just be in mid-long range and provide vision with your sonic arrow, or just use it to cover your flanks. it's really easy to kill squishies with your scatter arrow if you aim at their feet, especially if they are surrounded by walls, so look out for that. otherwise, just work on your aim and peeking.