I'm not sure I can explain correctly the difference between "If you had been there you'd know" and "If you were there you'd know", I think the former implies "the reason you don't know is that you weren't there" and the second implies "I can tell you weren't there because you don't know"? The Hebrew sentence can mean both. Hebrew has less tenses than English so there are some different ideas that we express using one tense.
So in Hebrew, it's the difference between "אם היית שם אז אתה יודע" and "אם היית שם היית יודע". I would translate ""אם היית שם היית יודע" as "If you'd been there you'd know." What I'm struggling with is the hybrid English translation "If you were there you'd know".
"If you were there then you know": If it's true that you were at the party, then you already know what happened and I don't need to tell you.
"If you had been there you would know": You didn't go to the party, so I guess I'd better tell you what happened. If you had gone, I wouldn't need to be explaining it to you now.
"If you were there you would know": Just confusing.
It is necessary. Your sentence means "If you were there, then you know".
Of course this works only by accident because the word "היית" can mean both the conditional past (if you had been there - as in the question) but also the regular past (if you were there). With any verb other than to be it doesn't work.
This isn't a question of good vs bad English. These are two legitimate sentences that mean different things.
"If you were there then you would know" means that you were not there and that is why (presumably) you don't know.
"If you were there, then you know" means that I don't know if you were there or not, but if you were, then you right now know.