I hear that a good way to improve is by playing against much stronger opponents. The problem here is that there are hardly any stronger opponents where I live and that makes it not only not as challenging but with no one to really personal help me improve. I thought of playing chess on the internet to resolve this problem but something about it just doesn't sit well with me, in other words I really dislike online chess. Maybe its the fact it doesn't feel like you are playing a real person or you're just staring at a screen instead of playing with a real board.
If there are no stronger players convenient to you, and you don't want to use the technology available to play with stronger players further away, then you must go to where the stronger players are.
Organizations exist to do just this. For instance the US Chess Federation has tournaments around the US throughout the year that allow players to meet and play together.
Check out the organizations that serve you and see what opportunities they offer. Some will require extensive travel, but with time and patience you will find chess clubs and tournaments that are within driving distance.
Once you establish a relationship with such a club or organization, and specific players within it, you may find playing online more comfortable once you know the people you are playing against. Sometimes the issue isn't the mechanism, but the distance and relative anonymity.
What type of online chess do you play? Blitz is not a good option, if you want to improve. If you want to play and improve using the internet, you should play standard time controls (at least more than 20 min/game). There are many good players on for example ICC and FICS playing slow time control chess. Try to chat with your opponents after the games, to make it more than just staring at a computer screen. Otherwise it is unfortunately hard to find strong players to play against if you live in a place without many chess players.
If you want to play with stronger players, you need to be where those players are. I see two major ways to do this:
Travel to where they are. You might only be able to do this every so often, but if a major tournament comes to your city or one within a few hours, maybe make a weekend of it and go to that tournament. You're likely to hit a bigger player pool at a bigger tournament, and usually they have brackets specifically for higher level players.
Bring them to you. Other high level players in the area may be in the same boat you are: they don't go to local clubs because there aren't enough (or any) strong players to challenge them. Try making a Craigslist ad that advertises your club and make sure to put a note in there that there's players of rating X that are seeking challengers. It might even be that a slightly lower ranked player that you're not used to playing will be a refreshing change, even if not as challenging.
There are other things you can do to keep your skills sharp. You can design puzzles for your club, and even post them online. Indeed you can become a titled Grandmaster just for making chess puzzles. You can also coach a chess team. This has the advantage of passing on your skills to a new generation of players while at the same time giving you a chance to meet potential challengers (the other coaches and enthusiasts at the event).
Online chess is probably the best answer, particularly if you don't have enough tournaments nearby (or can't afford to go to many). It can be made better than just sitting in front of a screen, though, for sure.
You can play it like I played correspondence chess back in the day (chess by mail): with a real board on your side. Every move you make, make on the real board, then enter on the computer. Every move your opponent makes on the computer, make on the real board. That way it still has that feel.
As far as not having a real person sitting across: once you find some good players and play several games against them, you may find one or more are willing to do Skype/etc. games (where you play in a video call in real time, with a real board in front of you, and chat on the video call).