Knowing the browsers and devices a web project needs to support up front can be crucial to developing a successful responsive web design. We've already considered why progressive enhancement is so useful in this respect; if done correctly, it means that the vast majority of your site will be functional on even the oldest browsers.
However, there may also be times when you need to start your experience with a higher set of prerequisites. Perhaps you are working on a project where JavaScript is essential, not an uncommon scenario. In that instance, you can still progressively enhance. Instead, you are merely enhancing from a different start point.
Whatever your starting point, the key thing is establishing what it is. Then, and only then, can you define and agree upon what visual and functional experiences the different browsers and devices that you intend to support will get.
It's both unrealistic and undesirable to try and get any website looking and working the same in every browser. Besides quirks specific to certain browsers, there are essential functional considerations. For example, we have to consider things like touch targets for buttons and links on touch screens that aren't relevant on mouse-based devices.
Therefore, some part of your role as a responsive web developer is educating whoever you are answerable to (boss, client, shareholders) that 'supporting older browsers' does not mean 'looks the same in older browsers'. The line I tend to run with is that all browsers in the support matrix will get task parity, not visual parity. This means that if you have a checkout to build, all users will be able to get through the checkout and purchase goods. There may visual and interaction flourishes afforded to the users of more modern browsers, but the core task will be achievable by all.
Typically, when we talk about which browsers to support, we're talking about how far back we need to look. Here are a couple of possibilities to consider, depending upon the situation.
If it's an existing website, look at visitor statistics (Google Analytics or similar). Armed with some figures you can likely do some rough calculations. For example: if cost of supporting browser X is less than the value produced by supporting browser X, then support browser X!
Also, consider that if there are browsers in the statistics that represent less than 10% of users, look further back and consider trends. How has usage changed over the last 3, 6, and 12 months? If it's currently 6% and that value has halved over the last 12 months you have a more compelling argument to consider ruling that browser out for specific enhancements.
If it's a new project and statistics are unavailable, I usually opt for a 'previous two' policy. This would be the current version plus the previous two versions of each browser. For example, if Internet Explorer 12 was the current version, look to offer your enhancements for that version plus IE10 and IE11 (the previous two). This choice is easier with the 'evergreen' browsers, the term given to browsers that continually update on a rapid release cycle (Firefox and Chrome for example).