display:none and visibility:hidden are not inappropriate but can create problems. I.E. if you need to have a screen reader obtain the info, it will not be able to be read. But, if you set it to position:absolute;left:-2000px; the information will not show but, the screen reader will read the data.

Responsive vs mobile is not unlike tables vs div in code. Several checks including accessibility standards would lower page rank with too many tables. Used to be that everything was table-oriented. Now, you'll lower your rank with too many tables.

Same with mobile-ready/responsive in today's world. Some obtain the info at the beginning and redirect to mobile.yoursite.com. The advantage to this method is the ability to apply stylesheets to only the site needed. One of the things responsive does is bloat the site with stylesheets. You simply have to have more stylesheets if all is done on the same site

IMHO, if you are going to go with responsive vs. redirect, you really need to be watching what the folks are saying that are ranking your site. A recently published article by Google has some interesting information. Some of it touches on not hiding data but, the great information concerns the latest and greatest methods of making a site responsive by the folks that are ranking your site. It doesn't hurt that they develop chrome as well. The information was updated in May of this year, so simply the currency of the site makes it worthwhile to take a look. I found a couple of interesting methods there as well.

Again, all is submitted for info. I've always said that necessity is NOT the mother of invention: it's laziness. Even so, we sometimes have to learn how to be lazy.