Why do you feel it's either 'shout the loudest to be heard' or not be heard at all? Surely there is a middle ground to be found?
I too am a shy/non confrontational person but I think you have to be careful, at the end of the day you are making the choice to sit back and not say anything to them, you can't then complain they don't know you are upset or aren't dealing with you how you'd like to be, anything that hints of passive aggression will just wind people up no end. You absolutely need to cut the 'resting bitch face' out if it's something your colleagues are noticing, it's not acceptable to sit scowling at people and refusing to actually say why you are upset - not saying you have to sit with a fake grin plastered on your face at all times but most people can manage to look 'neutral'....
What I do, knowing how much I have to 'work myself up' to a confrontation of any kind and how much I'll analyse it later down the line, I pick my battles. If we have an issue and my proposed solution is to do ABC but my colleague prefers XYZ, and XYZ is also a reasonable solution, then I don't mind going with that, even if I am the more experienced or senior one. Perhaps if there is time I might try and ask some questions to understand why they prefer XYZ and try and help them through the process of the conversation to see my point of view (e.g. they may say they prefer XYZ because they think it will be quicker or cheaper fair enough, but they don't fully understand that ABC will actually work better in the long run), but even if we ultimately don't agree, so long as the outcome is OK then fine, that isn't me 'being undermined' it's coming to a consensus/majority decision that I personally disagree with. I also might try and work more with that colleague outside a situation where there's an immediate or urgent problem to be solved, to build the trust/relationship/communications up so that if it happens again we better understand one another.
If however the issue is something that is really important and they are plain wrong, you can get your point across/insist without getting worked up or shouty about it. So the conversation might go:
You: We have this problem, I suggest ABC because...
Rowdy Colleague, butting in: No no no, what we need is XYZ
You: If you'll let me finish...
RC: No that suggestion is wrong, we need a quick solution not some long winded thing bla bla bla
You: (deep breath) That is interesting you say that, why do you think ABC is not a quick solution?
RC: bla bla bla ABC sucks, XYZ is better
You: Are you aware ABC could be in place within 48 hours and would improve the situation by 100%? And XYZ will take 20 days to implement and cost 10 times more for the same result?
RC: no no I think XYZ will be better, I know more about this than you
You: OK we seem to disagree here, as I am responsible for section A my decision will be we will do ABC, I will report back to you on progress within 2 days
OR: Ok we seem to disagree here, as neither of us are responsible for making this decision, I propose to email Line Manager with the problem and we will see what s/he says.
RC: But why can't we just do XYZ, bla bla bla
You: I'm afraid that's my decision RC, now I need to get back to work. Maybe at our next team meeting we can discuss as a whole team the issue of X problems and see what everyone thinks, then we can review our approach. See you later!
Obviously I have summarised the conversation there, there would probably be more discussions, and at the end of the conversation RC will probably not be super-happy, but does that really matter? You stayed calm, professional, the conversation focused on the actual issue rather than anything personal (note how you didn't pick up the bait about whether or not s/he knows more about this than you) and you stuck to your guns about what you know to be right, so no-one can criticise you there. Following such a conversation I would send a short summary email to him/her saying 'Just as a reminder, you came to me with problem X, you suggested solution XYZ, I proposed ABC as an alternative for [reasons] and we agreed...'. That way no-one can later dispute what was said....
Possibly if this is an issue for you, you could see if your work would fund some constructive communication/assertiveness type training? It can be a bit cringe but gives useful hints and techniques for better communication all round, not just in conflict type situations (ideally much better to avoid getting to the point of conflict at all).
And overall if you found this particular workplace is more populated with rowdy colleagues/arseholes than others you've worked in, maybe it isn't the place for you long-term? After all you are just one person and you aren't likely to change the prevailing culture to suit you, especially when the senior management don't see it as a problem, unfair as that may feel, so maybe you need to be looking for a long term escape route to somewhere you do feel valued and listened to?