Question: I have applied as a GSoC student to work on a project that would provide Refunds and / or Partial Payments functionality for CiviCRM. I am seeking current solution to do this when needed so I can suggest and develop better solution. What is the manual way to use negative contributions for refunds as according to me this situation could have occurred several times.

Similarly, how are partial payments handled now with work-arounds?

Answer: 
Refunds and partial payments are two different things.

Currently for refunds the work-around is to edit the contribution (possibly associated with membership or event ticket purchase) and set amount received to zero (for a full refund). 

For partial payments, there was a release of back office functionality in 4.5 for events ie staff could enter partial payments but the gereal public could not. I suppose one work-around for not having this available to the public is setting up a contribution page for a lesser amount, then having staff manually record the partial payments each time they come in against the event purchase, and cancel the contribution. Similarly, for a membership, a separate Contribution page could be set up to receive these payments which could be manually cancelled after a payment for a similar amount has been created manually.
Four different refund cases and their current handling:

1) Full refund - just going in the contribution & changing it to cancelled.

2) Partial refund when payment was made by Pay-later - going into the contribution & changing the amount. This doesn't work with a credit card payment.

3) Partial refund when payment was made by credit card and refunded by credit card. If necessary, create a new temporary price and go into the event registration and receipt it at this price. It appears to edit the existing entry rather than creating a new one.

4) Partial or full refund when payment was made by credit card & refunded by bank deposit and vice versa. Create a new temporary negative price and create a second registration for the person in the same event with the negative fee.