I don't know if you can call it faking it as the physics object is just faking it too. All you're doing is the math for it yourself and bypassing all the other calculations the physics behaviors does.
Damping can be done by multiplying the speed by a number a little less than one. The closer it is to one the less damping occurs.
Every tick:
set speed to self.speed*0.99
Your method of applying a negative acceleration is another method often used and it would look something like this:
Speed > 0:
set speed to self.speed - 50*dt
Speed < 0:
set speed to self.speed + 50*dt
For elasticity for one object it can be done something like this:
On collision:
set speed to -elasticity * self.speed
Where elasticity is 1 for a full bounce and 0 is just stop. Of course this will only make it bounce in the opposite direction to what it was moving. Search for "reflecting laser" for a way to bounce correctly against an angled surface.