I have two feature classes. One with routes (lines) and one with busstops (points) Is there a way to snap the points automatically to the lines in ArcGIS 10.2?
Linear Referencing is still your best option. With the Locate Features Along Route tool you get several benefits. It creates a measure on your route and a side distance field that is positive or negative, depending on which side of the line the point falls on. As a result, point events can simultaneously be on the line and offset from the line using the same event table with just one layer setting change (using a side offset field or not). They also tell you the relative position of the point on the line, so that you can sort your points by driving order, which you cannot do with any other tool. They also have a simple option for getting the normal angle of the point to the line so you can rotate your point to exact 90 degree angles relative to your line. With point events I get points that understand their relationship with the line, and I can easily convert them in seconds to standard points just by exporting them if I don't want them to adjust with changes to the line anymore.
I can set points up relative to fixed known positions just by adding or subtracting distances, so someone can give me a plain old table of cross streets with offset distances and directions, and I can convert it to point events on my line (that takes some other set up of an intersection layer with measures). Here is an example of how I use point events to position and rotate signs and marking all based on descriptions of relative offsets from intersections and driving direction facing (if I had not applied the side offset option and the rotation option in my event layer, these sign markers would all fall directly on the line and be oriented with their tops to the north):
So derive LR routes from your lines using the Create Route tool, then locate your points on your routes using the Locate Features Along Routes tool and with one table it will be possible to show the points on the line or with a side offset from the line with markers rotated to fit your line and oriented based or driving direction (with a calculation that adjusts the normal angle to the line based on whether a side offset is positive or negative).
One other benefit is that it is possible to easily evaluate point events based on distances from other objects on the road without the use of buffers (that mess with other roads). So if I want to know all trees in my median within a certain distance of an intersection I can get that selection by creating a line that adds and subtracts that distance from the measure of the intersection on that route. That can all be managed from a line event table, that only differs from a point event table by having a second measure. I can also chain point events together to form line segments between every adjacent pair of points that will follow my road if I want.
No matter what technique you use, you will have to eliminate false snaps or locations, since points that are within the snapping tolerance near intersections will snap to both lines or randomly choose the wrong line 50% of the time. I always locate all point positions on all lines in my snapping tolerance and then use an attribute of the points to determine which road it should have associated itself to and eliminate the false snaps from the selection.